Cygwin を更新しましたが、リモートマシンにSSHで接続できなくなりました。
SSHからの関連するデバッグ出力は次のとおりです。何が起こっている?
debug1: Server Host key: ssh-rsa SHA256:VTUSWVnLWQ6ohJ0hZ7vcswPKnuBsXSqtqH054jWxMAA
debug1: Host 'xxx.yyy.zz' is known and matches the RSA Host key.
debug1: Found key in /home/nifle/.ssh/known_hosts:5
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/nifle/.ssh/id_rsa
debug1: Skipping ssh-dss key /home/nifle/.ssh/id_dsa for not in PubkeyAcceptedKeyTypes
debug1: No more authentication methods to try.
Permission denied (publickey).
問題は、cygwinの更新後、OpenSSH v7を使用していて、古いSSHキーが十分に安全であるとは思わなくなったことです。
上記のデバッグ情報で、それがssh-dss
キーであることがわかります。
簡単な修正は、このPubkeyAcceptedKeyTypes ssh-dss
を~/.ssh/config
に追加することでした。
もちろん、より良い解決策は、新しい安全な鍵ペアを生成することです。