安全设置 SSH 密钥,以便 SCP/rsync 无需密码即可运行

安全设置 SSH 密钥,以便 SCP/rsync 无需密码即可运行

这是我目前的做法:

# ssh-keygen -t dsa -b 1024 -f /root/localhost-rsnapshot-key

Enter passphrase (empty for no passphrase): [press enter here]
Enter same passphrase again: [press enter here]

# if [ ! -d ~/.ssh ]; then mkdir ~/.ssh ; chmod 700 ~/.ssh ; fi
# cd ~/.ssh/
# if [ ! -f config ]; then touch config ; chmod 600 config ; fi
# echo Host server2 >> config
# echo Hostname server2.domain.tld >> config
# echo IdentityFile /root/localhost-rsnapshot-key >> config

现在当我运行 rsnapshop 时:

backup  [email protected]:/home/     localhost/server2/

我得到以下信息:

rsnapshot hourly
reverse mapping checking getaddrinfo for server2-domain-tld.1-2-3-4 [1.2.3.4] failed - POSSIBLE BREAK-IN ATTEMPT!
[email protected]'s password:

有没有办法让它无需密码即可运行?

答案1

您可以从 server1 运行命令,将您的身份文件复制到远程系统并允许公钥身份验证。您可能还需要确保在 sshd 配置中启用了基于密钥的身份验证。ssh-copy-id [email protected]

答案2

在server2上,需要将生成的公钥添加到/root/.ssh/authorized_keys

答案3

假设您想要在名为“server2”的主机上对名为“server2”的 shell 帐户进行身份验证,则需要将在 server1 上生成的 localhost-rsnapshot-key.pub 的内容添加到文件中server2:/home/server2/.ssh/authorized_keys

答案4

虽然上面的几个答案已经解释过了,但是如果你想了解更多细节,你可以参考这篇文章。

无密码登录

相关内容