Я пытаюсь подключиться к компьютеру CentOS 7.5 (192.168.1.5) по технологии смарт-карт.
Теперь я могу использовать SSH, используя для этого сертификат x509 главного слота с соответствующим закрытым ключом, но это означает, что я должен поместить открытый ключ сертификата на каждую машину, на которой я хочу использовать SSH. Это утомительно, если вы спросите меня.
Поэтому я хочу использовать другой публичный / частный, в частности, ключи RSA, чтобы в будущем я мог подписать их Сертификатом RSA, позволяющим OpenSSH доверять Сертификату RSA, и предотвратить необходимость доверять каждому интеллектуальному устройству. Сертификат карты x509. Но сейчас я просто хочу SSH с этой парой ключей RSA со смарт-карты.
Поэтому я начал следовать типичным шагам, чтобы сгенерировать ключи и загрузить их на смарт-карту.
ssh-keygen -f gofishssh-keygen -f gofish.pub -e -m pemykman piv import-key 9c gofishykman piv generate-certificate 9c gofish.pem -s 'gofish543'ssh-keygen -D [opensc-pkcs11.so] -e- Разместите вывод этой команды на моей целевой машине CentOS.
ssh gofish543@192.168.1.5 -I [opensc-pkcs11.so]
Когда все работает, я перешел на Windows 10 с SST и PuTTY. Это когда все разваливается. Используя PuTTY-CAC для SSH-аутентификации с помощью смарт-карты, он успешно загружает данные моей смарт-карты в представление, но при переходе на ssh происходит сбой с ошибкой ...
Терминал PuTTY представляет следующее ...
Using username "gofish543". Authenticating with public key "CAPI:5e084cb687f0c54adf8ddd733720db48407d3195" from agent Server refused public-key signature despite accepting key! gofish543@192.168.1.5's password: С журналом ошибок sshd, показывающим следующее ...
debug1: matching key found: file /home/gofish543/.ssh/authorized_keys, line 1 RSA SHA256:Eor3aPxtNW6zrxLbq+1tB/urwql1CQB6EM8tFIx31+I^M debug1: restore_uid: 0/0^M debug3: mm_answer_keyallowed: key 0x55d310674760 is allowed^M debug3: mm_request_send entering: type 23^M debug3: mm_key_verify entering [preauth]^M debug3: mm_request_send entering: type 24 [preauth]^M debug3: mm_key_verify: waiting for MONITOR_ANS_KEYVERIFY [preauth]^M debug3: mm_request_receive_expect entering: type 25 [preauth]^M debug3: mm_request_receive entering [preauth]^M debug3: mm_request_receive entering^M debug3: monitor_read: checking request 24^M key_verify: invalid argument^M debug3: mm_answer_keyverify: key 0x55d310674710 signature unverified^M debug3: mm_request_send entering: type 25^M Failed publickey for gofish543 from 192.168.1.3 port 50051 ssh2: RSA SHA256:Eor3aPxtNW6zrxLbq+1tB/urwql1CQB6EM8tFIx31+I^M Аутентификация с открытым ключом и секретным ключом разваливается на линии key_verify: invalid argument. Поиск этой проблемы дает ноль применимых результатов. Что я могу сделать, чтобы решить эту проблему?
В качестве дополнительного примечания, если я обнаружу в журналах ошибок что-либо, чего не должен был бы иметь, например информацию о закрытом или закрытом ключе, я знаю, что все эти машины находятся во внутренней сети, размещенной на ноутбуке, изолированном от Интернета. И эти ключи будут удалены через неделю или две.