用SSHPASS实现非交互式自动登录SSH
为了安全性,只能在ssh server后再手动输入密码,而不能像下面的命令那样:
echo -n 'PASSWORD' |sudo -S ls /
要不只能用『密钥对』的方式自动登录,再要不就用『expect』写脚本来自动登录,不过刚刚发现了一个小软件:sshpass
在Ubuntu 10.04下面是没有安装expect和sshpass的,既然这样,我还不如只装上sshpass,还不用写expect脚本呢!
用命令sudo apt-get install sshpass
就可以装上sshpass包了,下面是sshpass的用法:
sshpass -p 'PASSWORD' ssh icyomik@ssh.sshcenter.srv
注:sshpass支持-f
选项,可以从文本文件读取密码,而不用出现在命令行。
因为是私有机器,所以不怕所谓的不安全,要是用『密钥对』的话,虽然安全但太麻烦,何况在某些机器上不方便保存密钥。