PKCS#11 규격의 하드웨어 토큰을 사용하여 사용자 인증을 진행하고 싶은 경우가 있습니다. Xshell에서는 PKCS#11 PIV 인증 인터페이스를 제공하고 있어 이를 지원하는 스마트카드 라이브러리를 설치하면 SSH 인증에 활용될 수 있습니다.
Xshell에서 PKCS#11 인증하기
Xshell에서 PKCS#11 인증을 진행하기 위해서는 Windows용 Smart Card Minidriver가 필요합니다. OpenSC 미들웨어에서 제공하는 PKCS11 Minidriver를 사용하면 호환되는 RSA 키 인증을 받을 수 있습니다.
Windows용 OpenSC 라이브러리를 설치하기 위해 다운로드 페이지에 방문합니다. (https://github.com/OpenSC/OpenSC/releases)
각 버전의 설명 하단에 나열된 다운로드 파일 중 32비트용 OpenSC 설치 파일 (OpenSC-0.xx.x_win32.msi)을 다운로드 받습니다.
해당 설치 파일을 실행하여 설치를 진행합니다. 설치 도중 설치 유형을 묻는 창이 나타나면 Typical을 선택합니다.
설치가 완료되면 다음 경로에 해당 파일이 존재하는지 확인합니다:
C:\Program Files (x86)\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll
이제 Xshell에서 PKCS#11 인증을 위한 세션을 생성해보겠습니다.
Xshell을 실행하고 상단 메뉴의 ‘파일 - 새로 만들기(N)...’ 를 클릭합니다.
좌측 범주에서 ‘연결’ 을 선택한 후 세션 파일 이름과 호스트 주소를 입력합니다.
좌측 범주에서 ‘사용자 인증’을 클릭합니다. 사용자 인증 방법을 ‘PKCS11’로 지정한 후 사용자 이름을 입력합니다. 이후 우측의 ‘설정(S)...’을 클릭합니다.
PKCS11 설정 창이 열리면 미들웨어 경로와 토큰 핀을 입력합니다.
- 미들웨어 경로 : OpenSC 라이브러리 파일의 경로입니다. (C:\Program Files (x86)\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll)
- 토큰 핀 : USB 토큰에서 설정된 PIN을 입력합니다. 이 부분은 추후 세션에 연결한 뒤에 입력해도 됩니다.모든 설정이 완료되었습니다. 세션에 연결하여 문제 없이 접속 되는지 확인해봅니다.