说明:
通过rsync同步多台机器文件时才发现以前使用的ssh密钥是有密码的,这样每次同步时候还需要手动输入一次密码才可以。Google后有人提示可以使用.bash_profile配合ssh-agent来实现每次自动加载密钥到内存中,省去输入密码的环节,但.bash_profile有各种弊端,有人专门写了一个叫做keychain的小软件来解决ssh-agent 的不足。当然之前还使用过expect来实现输入私钥密码,实在是。。。
实际使用的时候依然不是很顺手,干脆就取消私钥中的密码:
具体:
1. 使用openssl命令去掉私钥的密码
# openssl rsa -in ~/.ssh/id_rsa -out ~/.ssh/id_rsa_nopass
2. 设置权限
# chomd 600 ~/.ssh/id_rsa_nopass
这样取消掉原私钥的密码,配合cron计划任务定时同步文件就可以保证多台服务器文件自动更新了。而且只要注意私钥不泄漏出去,多台服务器之间无密码登录也方便很多。