ssh 常數“輸入公鑰密碼”

ssh 常數“輸入公鑰密碼”

可能是什麼原因ssh <主機>正在詢問公鑰密碼

Enter passphrase for key '/home/%d/.ssh/id_rsa.pub':

即使提供了一個好的密碼?

當我指定提供者時,我對 pkcs11 pam 模組登入沒有問題,並且當我透過新增金鑰時也沒有問題ssh-add

100% 這是客戶端問題,可能是 ssh 代理正在捕獲請求?

您的意思是,不斷要求您輸入密碼,但甚至不接受正確的密碼? 「當我指定一個提供者」到底是什麼意思..?格哈德

$ 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

附: 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

或類似的。這有兩個問題。替換%d意味著整個主目錄和IdentityFile選項應該獲得私鑰,而不是公鑰。

它要求輸入密碼的原因在此進行了描述上游錯誤(簡而言之,OpenSSH 不會驗證從 OpenSSL 傳回的錯誤,每個錯誤都會解釋為錯誤的密碼),並且應該在下一次更新中修復。

或者您可能有一些類似的別名嘗試使用此密鑰?的輸出是什麼type ssh

相關內容