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

相关内容