FIDO2를 사용하여 SSH 서버에 대해 인증할 수 있는지 궁금합니다. SSH 인증을 위해 GPG 및 최신 Yubikey를 사용하는 방법을 설명하는 많은 튜토리얼이 있지만 이것이 가능한지 또는 FIDO2 또는 U2F(특히 Yubico 보안 키 NFC)를 사용하여 인증하는 방법에 대한 정보를 찾지 못했습니다. SSH 서버.
답변1
좋은 소식! 오픈SSH 8.2FIDO/U2F에 대한 지원이 추가되었습니다. 더 이상 패치가 필요하지 않습니다.
FIDO/U2F 지원
이번 릴리스에서는 OpenSSH에 FIDO/U2F 하드웨어 인증자에 대한 지원이 추가되었습니다. U2F/FIDO는 웹사이트 인증에 널리 사용되는 저렴한 2단계 인증 하드웨어에 대한 개방형 표준입니다. OpenSSH에서 FIDO 장치는 해당 인증서 유형과 함께 새로운 공개 키 유형
ecdsa-sk
및 으로 지원됩니다.ed25519-sk
ssh-keygen
(1)은 FIDO 토큰 지원 키를 생성하는 데 사용될 수 있으며, 키를 사용할 때 하드웨어 토큰이 첨부되어 있는 한 OpenSSH에서 지원하는 다른 키 유형과 매우 유사하게 사용될 수 있습니다. 또한 FIDO 토큰은 일반적으로 사용자가 터치하거나 탭하여 작업을 명시적으로 승인하도록 요구합니다.FIDO 키를 생성하려면 토큰이 연결되어 있어야 하며 일반적으로 사용자가 작업을 확인하기 위해 토큰을 탭해야 합니다.
$ ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk Generating public/private ecdsa-sk key pair. You may need to touch your security key to authorize key generation. Enter file in which to save the key (/home/djm/.ssh/id_ecdsa_sk): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/djm/.ssh/id_ecdsa_sk Your public key has been saved in /home/djm/.ssh/id_ecdsa_sk.pub
답변2
yubico에서 제공하는 팜스를 이용하시면 됩니다.
libpam-yubico
OTP 인증을 위해 사용할 수 있습니다.심판
libpam-u2f
u2f의 경우(로컬 포트만 읽는 libusb를 사용하므로 ssh와 함께 사용할 수 없습니다.)
참고: PPA가 필요하지 않습니다. 이미 저장소에 있습니다(적어도 데비안).
답변3
이는 다음과 같은 방법으로 가능합니다.OpenSSH 서버 및 클라이언트 패치.
이 패치는 공식 OpenSSH 코드에 통합되어 있지 않고 상당히 해킹되어 보이기 때문에 버그와 취약점이 포함될 수 있습니다.