1、sshpass的简介
OpenSSH 自带的 ssh 客户端程序,默认不允许以非交互的方式传递密码,所以需要远程登录服务器进行批处理就无法进行。sshpass 的出现,解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器。
2、sshpass安装
源码下载地址:https://sourceforge.net/projects/sshpass/files/
下载源码包,执行以下步骤安装:
[root@192.168.1.20 ~]#tar -zxvf sshpass-1.05.tar.gz
[root@192.168.1.20 ~]#cd sshpass-1.05
[root@192.168.1.20 ~]#./configure
[root@192.168.1.20 ~]#make && make install
安装完成后,输入“sshpass -V” 出现版本信息即安装成功。
3、命令操作实例
实例1:直接远程连接某台主机
命令:sshpass -p '密码' ssh root@192.168.1.100 #默认为22端口
实例2:远程连接指定ssh的端口
命令:sshpass -p '密码' ssh -p 1000 root@192.168.1.100 #指定ssh连接端口为1000
实例3:从密码文件读取文件内容作为密码去远程连接主机
命令:sshpass -f pwd.txt ssh root@192.168.1.100 #指定从pwd.txt读取密码
实例4:从远程主机上拉取文件到本地
命令: sshpass -p '123456' scp root@192.168.1.100:/home/test.txt ./ #从远端复制文件到本地,还可以加参数 -q 去掉进度显示
实例5:远程ssh到目标机器执行命令
命令: sshpass -p '密码' root@192.168.1.100 'ifconfig; ping 127.0.0.1 -c 10; top -b -n 1; sleep 5' #shell命令要在sshpass命令一行
实例6:远程连接时不提示是否输入yes/no
命令:sshpass -p '密码' ssh -o StrictHostKeyChecking=no root@192.168.1.100
网友评论