非交互的ssh 密码验证 sshpass安装与使用
使用背景:ssh登陆不能在命令行中指定密码,也不能以shell中随处可见的,sshpass 的出现,解决了这一问题。
它允许你用 -p 参数指定明文密码,然后直接登录远程服务器。 它支持密码从命令行,文件,环境变量中读取,
所以,通过sshpass实现以非交互的形式为ssh提供密码。
安装:在Centos7上,没有sshpass的软件包,无法采用yum方式安装。so从源码编译安装。
步骤:
1.下载sshpass源码:
http://sourceforge.net/projects/sshpass/
2.解压 tar -zxvf /usr/local/sshpass-1.06.tar.gz
3.cd /usr/local/sshpass-1.06
4.执行 ./configure(如报如下错,执行yum install gcc)
5.make && make install
安装完毕后就可以用命令明文登录:sshpass -p 123456 ssh root@192.168.3.10
root为账号,123456为密码
sshpass -p 123456 ssh root@192.168.56.102
sshpass -f 1.txt ssh root@192.168.56.102 //密码保存在1.txt第一行
sshpass -e ssh root@192.168.56.102
//密码保存在环境变量SSHPASS中, export SSHPASS=123456