6.5. 스마트 카드 인증을 사용하여 SSH 액세스 구성

SSH 연결에는 인증이 필요합니다. 암호 또는 인증서를 사용할 수 있습니다. 스마트 카드에 저장된 인증서를 사용하여 인증을 활성화하려면 다음 절차를 따르십시오.

authselect를 사용하여 스마트 카드를 구성하는 방법에 대한 자세한 내용은 authselect 를 사용하여 스마트 카드 구성을 참조하십시오.

사전 요구 사항

  • 스마트 카드에는 인증서와 개인 키가 포함되어 있습니다.
  • 카드가 리더에 삽입되고 컴퓨터에 연결됩니다.
  • SSSD가 설치 및 구성되어 있습니다.
  • 사용자 이름은 인증서 SUBJECT의 CN(Common Name) 또는 UID(사용자 ID)와 일치합니다.
  • pcscd 서비스가 로컬 시스템에서 실행되고 있습니다.

    자세한 내용은 스마트 카드를 관리하고 사용하기 위한 툴 설치를 참조하십시오.

절차

  1. 스마트 카드 인증을 사용하는 사용자의 홈 디렉터리에 SSH 키에 대한 새 디렉터리를 생성합니다.

    # mkdir /home/example.user/.ssh
  2. opensc 라이브러리와 함께 ssh-keygen -D 명령을 실행하여 스마트 카드의 개인 키와 쌍된 기존 공개 키를 검색하고 SSH 키 디렉터리의 authorized_keys 목록에 스마트 카드 인증을 사용하여 SSH 액세스를 활성화합니다.

    # ssh-keygen -D /usr/lib64/pkcs11/opensc-pkcs11.so >> ~example.user/.ssh/authorized_keys
  3. SSH를 사용하려면 /.ssh 디렉토리 및 authorized_keys 파일에 대한 올바른 구성이 필요합니다. 액세스 권한을 설정하거나 변경하려면 다음을 입력합니다.

    # chown -R example.user:example.user ~example.user/.ssh/
    # chmod 700 ~example.user/.ssh/
    # chmod 600 ~example.user/.ssh/authorized_keys
  4. 선택적으로 키를 표시합니다.

    # cat ~example.user/.ssh/authorized_keys

    터미널에 키가 표시됩니다.

  5. /etc/sssd/sssd.conf 파일에서 스마트 카드 인증이 활성화되었는지 확인합니다.

    [pam] 섹션에서 pam 인증서 인증 모듈을 활성화합니다. pam_cert_auth = True

    sssd.conf 파일이 아직 생성되지 않은 경우 다음 스크립트를 명령줄에 복사하여 최소 기능 구성을 생성할 수 있습니다.

    # cat > /etc/sssd/sssd.conf <<EOF
    [sssd]
    services = nss, pam
    domains = shadowutils
    
    [nss]
    
    [pam]
    pam_cert_auth = True
    
    [domain/shadowutils]
    id_provider = files
    EOF
  6. SSH 키를 사용하려면 authselect 명령을 사용하여 인증을 구성합니다.

    # authselect select sssd with-smartcard --force

이제 다음 명령을 사용하여 SSH 액세스를 확인할 수 있습니다.

# ssh -I /usr/lib64/opensc-pkcs11.so -l example.user localhost hostname

구성이 성공적으로 수행되면 스마트 카드 PIN을 입력하라는 메시지가 표시됩니다.

이제 구성이 로컬로 작동합니다. 이제 공개 키를 복사하여 SSH를 사용하려는 모든 서버에 있는 authorized_keys 파일에 배포할 수 있습니다.