SSH密码验证


ssh登陆不能在命令行中指定密码。sshpass的出现,解决了这一问题。sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次输入密码。

它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。

安装

wget https://pilotfiber.dl.sourceforge.net/project/sshpass/sshpass/1.06/sshpass-1.06.tar.gz

tar -zxvf sshpass-1.06.tar.gz
./configure --prefix=/opt/sshpass #指定安装目录
make
make install
cp /opt/sshpass/bin/sshpass /usr/bin/

用法

从命令行方式传递密码 -p指定密码

sshpass -p 'password' ssh user@host_ip
sshpass -p 'password' scp root@host_ip:/home/test/t ./tmp/