红联Linux门户
Linux帮助

sshpass访问Linux服务器

发布时间:2016-03-09 16:04:41来源:linux网站作者:TS_A1

Shell命令,sshpass,非交互SSH密码验证,访问。


一:安装sshpass

下载地址:http://sourceforge.net/projects/sshpass/


二:下载完为一个例如:sshpass-1.05.tar.gz,压缩包 

#解压并安装 

$ tar -zxvf sshpass-1.05.tar.gz 

$ cd sshpass-1.05 

$ ./configure --prefix=/opt/sshpass 

#指定安装目录 --prefix=/opt/sshpass(也可不指定) 

$ make 

$ make install 

$ cp /opt/sshpass/bin/sshpass /usr/bin/ 
 
#安装完成 


三:安装完成测试,#查看帮助: 

sshpass -h 

Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters 
-f filename   Take password to use from file 
-p password   Provide password as argument (security unwise) 
-ePassword is passed as env-var "SSHPASS" 
With no parameters - password will be taken from stdin 
-hShow help (this screen) 
-VPrint version information 
At most one of -f, -d, -p or -e should be used 


四:登陆使用:
sshpass非交互SSH有密码验证登陆:

sshpass -p passroot ssh -p22  root@192.168.10.55 
或 
sshpass -p passroot ssh -o StrictHostKeyChecking=no -tt root@192.168.10.55

注:root为登录名,passroot为登陆密码,192.168.10.55为预登陆的ip地址
注:Shell命令sshpass非交互SSH有密码验证
-tt  防止脚本调用ssh后出现Pseudo-terminal will not be allocated because stdin is not a terminal问题
-o StrictHostKeyChecking=no 避免第一次登录出现公钥检查


五:配合shell使用:

详细见:“Linux下远程备份、上传工程,重启服务器”:http://www.linuxdiyf.com/linux/18767.html

#上传xxx脚本到服务端
sshpass -p pwd scp -P22 ./xxx.sh your_user@127.0.0.1:~/
#-o StrictHostKeyChecking=no 避免第一次登录出现公钥检查。
sshpass -p pwd scp -o StrictHostKeyChecking=no -P22 ./xxx.sh your_user@127.0.0.1:~/
#登陆到服务端地址,执行xxx脚本,将执行结果写入本地文件
sshpass -p pwd ssh -p22 user @127.0.0.1 "sh ~/xxx.sh" >pwdss.txt
#使用文件中的密码
sshpass -f pwd.file ssh -p22 user@127.0.0.1 "sh ~/xxx.sh" >>pwdss.txt
#从环境变量(SSHPASS)读取密码
sshpass -e ssh -p22 user@127.0.0.1 "sh ~/xxx.sh" >>pwdss.txt


本文永久更新地址:http://www.linuxdiyf.com/linux/18766.html