その理由は何だろうかssh < ホスト >公開鍵のパスワードを要求しています
Enter passphrase for key '/home/%d/.ssh/id_rsa.pub':
良いパスワードを提供したとしても?
プロバイダーを指定するとpkcs11 pamモジュールログインに問題はなく、キーを追加するときにも問題はありません。ssh-add
100% これはクライアント側の問題であり、SSH エージェントがリクエストをキャッチしている可能性があります。
パスワードを常に求められ、正しいパスワードでも受け入れられないということですか? 「プロバイダーを指定すると」とは、具体的にどういう意味ですか? gerhard d
$ ssh {host}
Enter passphrase for key '/home/%d/.ssh/id_rsa.pub':
Enter passphrase for key '/home/%d/.ssh/id_rsa.pub':
Enter passphrase for key '/home/%d/.ssh/id_rsa.pub':
Permission denied (publickey).
$ ssh-add
Enter passphrase for /home/%d/.ssh/id_rsa:
Identity added: /home/%d/.ssh/id_rsa (/home/%d/.ssh/id_rsa)
$ ssh {host}
logged in
再起動後、パスフレーズの入力に失敗したためsshできませんが、エージェントにキーを追加したり、pkcs11経由でsshしたりできます。
$ ssh -I /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so {host}
Enter PIN for 'PIV_II (PIV Card Holder pin)':
...
logged in
ps. distro = debian sid、%d は私のホームフォルダです
解決策 -> SSH 構成エントリを変更する:
Jakujeが書いたように、問題は間違ったssh設定ファイルのエントリにあった。
# ~/.ssh/config
Host {host}
IdentityFile ~/.ssh/id_rsa.pub # should be ~/.ssh/id_rsa
答え1
おそらくあなたの中に次のような一文があるssh_config
でしょ~/.ssh/config
う
Host *
IdentityFile /home/%d/.ssh/id_rsa.pub
または類似のもの。これには 2 つの問題があります。置換は%d
ホーム ディレクトリ全体を意味し、IdentityFile
オプションは公開キーではなく秘密キーを取得する必要があります。
パスフレーズを要求する理由はここに記載されていますアップストリームのバグ(簡単に言うと、OpenSSH は OpenSSL から返されたエラーを検証せず、すべてのエラーが不正なパスフレーズとして解釈されます)、これは次のアップデートで修正される予定です。
または、このキーを使用しようとしている類似のエイリアスがある可能性があります。 の出力は何ですかtype ssh
?