情况如下:我有 4 台 Linux 服务器。/home
这四台服务器的 都一样。(这是一个网络驱动器)。我想通过设置加密密钥来设置无密码 SSH。我使用 创建了 RSA 密钥对ssh-keygen
。因为/home
对所有用户都一样。所以我将公钥添加到$HOME/.ssh
目录的授权密钥中
但是当我尝试 ssh 到这些服务器时,它仍然要求输入密码。
请帮助!
答案1
当您输入ssh hostname
SSH 时,默认情况下会尝试基于密码的身份验证。因此,您必须在命令中输入附加选项:
ssh -i .ssh/private-key-of-host hostname
选项后面-i
应该是你的密钥的文件名。现在你无需输入密码就可以登录。
但是还有另一种可能性:您可以在 中拥有一个配置文件.ssh/config
。在此处输入:
Host Foo
HostName 123.45.67.89
IdentityFile ~/.ssh/private-key-of-host
现在您可以输入,SSH 将尝试使用来自的密钥ssh Foo
连接到中提到的主机(可以是 IP 地址或主机名) 。HostName
IdentityFile