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