linux ssh非交互脚本,sshpass实现shell脚本非交互密码验证

1、sshpass的简介

OpenSSH 自带的 ssh 客户端程序,默认不允许以非交互的方式传递密码,所以需要远程登录服务器进行批处理就无法进行。sshpass 的出现,解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器。

2、sshpass安装

下载源码包,执行以下步骤安装:

[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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值