用SSHPASS实现非交互式自动登录SSH

Published: Tags: 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选项,可以从文本文件读取密码,而不用出现在命令行。 因为是私有机器,所以不怕所谓的不安全,要是用『密钥对』的话,虽然安全但太麻烦,何况在某些机器上不方便保存密钥。