这是我目前的做法:
# 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
虽然上面的几个答案已经解释过了,但是如果你想了解更多细节,你可以参考这篇文章。