스마트 카드를 사용하는 Linux 호스트에 대한 SSH가 작동하지 않습니다.

스마트 카드를 사용하는 Linux 호스트에 대한 SSH가 작동하지 않습니다.

다음 명령을 사용하여 SSH 호스트에 연결하고 싶습니다.

ssh -I /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so HOSTNAME

오류는 라이브러리가 슬롯을 반환하지 않음을 나타냅니다.

debug1: 공급자 /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so: 제조업체 ID cryptoki 버전 2.20 라이브러리 설명 라이브러리 버전 0.17 debug1: pkcs11_add_provider: 공급자 /usr/lib/x86_64-linux-gnu/opensc -pkcs11. 그래서 슬롯을 반환하지 않습니다

리더 목록을 작성하는 명령이 제대로 작동합니다. 슬롯이 보입니다. 바로 거기에 있습니다.

$ opensc-tool --list-readers
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    Yes             Gemalto USB Shell Token V2 00 00

그 이유는 무엇입니까?

이는 다음과 관련될 수 있습니다.스마트 카드 SSH 인증을 어떻게 설정합니까?

===========================편집====================== =========

나는 공식적으로 이것을 포기할 것이다.

답변1

메시지는 opensc-tool --list-readers 카드 리더가 있고 카드를 인식하고 있음을 나타냅니다.

그러나 오류 메시지의 "슬롯"은 더 높은 수준의 추상화, 즉 카드 자체의 프로그래밍 가능한 "키 슬롯"을 나타냅니다. 당신은 pkcs11-tool --list-slots그것을 사용하거나 볼 수 있습니다 pkcs11-tool --list-token-slots.

opensc-tool --name 카드 유형이 올바르게 인식되는지 확인하기 위해 실행할 수도 있습니다 .

답변2

~에서https://piv.idmanagement.gov/engineering/ssh/#ssh-from-macosLinux에서도 거의 동일하게 작동합니다.

  1. OpenSC를 설치합니다.
  2. PIV/CAC를 카드 리더기에 삽입합니다.
  3. Mac에서 인증서를 보려면 다음을 입력하세요.

    pkcs15-tools--목록-공개 키

  4. PIV AUTH 공개 키 ID 번호를 기록해 두십시오.

  5. 카드와 함께 카드 리더기 사용: SCR35xx 스마트 카드 리더기
 Public RSA Key [PIV AUTH pubkey]
     Object Flags   : [0x0]
     Usage          : [0xD1], encrypt, wrap, verify, verifyRecover
     Access Flags   : [0x2], extract
     ModLength      : 2048
     Key ref        : 154 (0x9A)
     Native         : yes
     ID             : 01 (EXAMPLE ONLY)
     DirectValue    : <absent>
  1. PIV AUTH 공개 키 ID 번호를 사용하여 SSH 키를 확인하세요. 입력하다:

    pkcs15-tools--read-ssh-key 01

  2. 메시지가 나타나면 PIV/CAC PIN을 입력하세요. SSH 키는 다음과 같습니다.

    ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQCyPn2dShOFLBnMraiP2MnLU....

  3. SSH 키를 복사하여 텍스트 파일에 붙여넣습니다.

  4. 텍스트 파일을 서버 관리자에게 보내고 새 계정을 요청하세요.
  5. 계정이 있으면 원격 서버에 로그인할 수 있습니다. 입력하다:

    ssh -I /usr/lib64/opensc-pkcs11.so @

  6. 또는 /etc/ssh_config 파일의 설정을 다음과 같이 업데이트할 수 있습니다.

    PKCS11Provider /usr/lib64/opensc-pkcs11.so

  7. 메시지가 나타나면 PIV/CAC PIN을 입력하세요. 인증되면 원격 서버에 로그인됩니다.

관련 정보