我最近安装了 ubuntu 10.04 并尝试使用 SSH 连接到远程服务器,但无法使用公钥连接。
我创建了 DSA 密钥,然后ssh-copy-id
对创建该文件的远程服务器执行了.ssh/authorized_keys
,以及 的权限600
。
我在 Ubuntu 上运行了一个 SSH 代理,它接受密码,但某些远程系统(F5 Big IP 负载均衡器)仍然提示我输入密码。
我已经验证了sshd_config
远程系统上的文件,以确认一个系统与另一个系统之间没有任何差异。
正常运行的调试输出如下:
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering public key: /home/me/.ssh/id_dsa
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: Authentication succeeded (publickey).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
失败系统的调试输出如下:
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering public key: /home/me/.ssh/id_dsa
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Trying private key: /home/me/.ssh/id_rsa
debug1: Next authentication method: keyboard-interactive
Password:
每个系统上的文件authorized_keys
都是相同的,具有相同的权限,并且sshd_config
文件也相同,以及 SSH 的版本也相同。
答案1
您发布的信息看起来不错。出于好奇,您为什么使用 dsa 密钥而不是 rsa?检查所有文件和目录的权限和所有权(即:./.ssh/)用户帐户是否被锁定?(您可以使用密码登录吗?)如果失败,请检查服务器日志文件,该文件应该会告诉您拒绝公钥的原因(如果不清楚原因,您可能需要以更详细的模式启动服务器)- 将有效的和无效的进行比较以寻找线索。