SSH 无密码

SSH 无密码

我有一个 Shell bash 文件,我以 sudo 身份运行,它包含一个用于向批量客户端发送 ssh 命令的文件,但它每次都要求输入密码,而我不知道基于什么密钥的 ssh 密码对于所有主机名都是相同的。我也不想安装任何outhr软件。

客户端是 debian ,主机是 ubuntu 14.04

答案1

基于主机的身份验证无需提示密码和安装用户的公钥

仅执行步骤 1 并替换.shosts为在 Kerberos 环境中安全 .rhosts使用。rsh

1 添加客户端的主机名和想要访问服务器的用户的用户名。
server$ echo '<client's hostname> <user name>' >> ~/.shosts

2 将客户端的公共主机密钥附加到服务器的known_hosts。
client$ cat /etc/ssh/ssh_host_rsa_key.pub | ssh user@server 'cat >> ~/.ssh/known_hosts'

3 告诉服务器不要通过反向查找客户端的 IP 来查找客户端的主机名。
server# echo 'HostbasedUsesNameFromPacketOnly yes' >> /etc/ssh/sshd_config

4 要求服务器不要忽略.shosts 文件。
server# echo 'IgnoreRhosts no' >> /etc/ssh/sshd_config
server# service sshd reload

相关内容