sshpass的使用例子

sshpass的使用例子

例子:

sshpass:用于非交互的ssh 密码验证
使用 -p 参数指定明文密码,然后直接登录远程服务器。 它支持密码从命令行,文件,环境变量中读取
1、从命令行方式传递密码
sshpass -p user_password ssh user_name@192.168.1.2  【登录远程机器】
sshpass -p user_password scp -P22 root@192.168.1.2:/home/test  ./ 【远程机器/home/test 复制到本机当前目录】
还可以加参数 -q 【去掉进度显示】

2、从文件读取密码
echo "user_password" > user.passwd
sshpass -f user.passwd ssh user_name@192.168.1.2

3、从环境变量获取密码
export SSHPASS="user_password"
sshpass -e ssh user_name@192.168.1.2 

4、sshpass -p user_password ssh  -o StrictHostKeyChecking=no  user_name@192.168.1.2 
【-o StrictHostKeyChecking=no 表示远程连接时不提示是否输入yes/no】

5、使用sshpass远程免密,在远程主机上执行shell命令,如下远程执行命令:touch /opt/file.txt
sshpass -p user_password ssh  -o StrictHostKeyChecking=no  user_name@192.168.1.2  touch /opt/file.txt
[注:shell命令要和sshpass命令写在一行]

6、sshpass远程ssh到目标机器执行命令:
sshpass -p密码 ssh -o StrictHostKeyChecking=no 用户@IP "cmd"
一般若是提示命令未找到,大概原因是使用了命令的别名,如:ll 得换成 ls -l

 

应用范围:可以在命令行直接使用密码来进行远程连接和远程拉取文件。

使用前提:对于未连接过的主机。而又不输入yes进行确认,需要进行sshd服务的优化:

# vim /etc/ssh/ssh_config   
StrictHostKeyChecking no

# vim /etc/ssh/sshd_config  
GSSAPIAuthentication no
UseDNS no

# service sshd restart

sshpass 命令的安装:

# yum -y install sshpass

实例1:直接远程连接某台主机:

命令:sshpass -p xxx ssh root@192.168.11.11

           sshpass -p xxx ssh root@192.168.11.11 'w'  -o StrictHostChecking=no     免输入yes。

实例:本地执行远程机器的命令:

命令: sshpass -p xxx ssh root@192.168.11.11 "ethtool eth0"

实例2:远程连接指定ssh的端口:

命令:sshpass -p 123456 ssh -p 1000 root@192.168.11.11         (当远程主机不是默认的22端口时候)

 

 

实例3:从密码文件读取文件内容作为密码去远程连接主机

命令:sshpass -f xxx.txt  ssh root@192.168.11.11

 

 

实例4:从远程主机上拉取文件到本地

命令: sshpass -p '123456' scp root@host_ip:/home/test/t ./tmp/

实例5:sshpass不可以直接接带特殊字符意义的密码,需要转义或者用小括号,或者指定文件的方式来连接都可以规避这个问题。

 

附录:sshpass的安装

Ubuntu

apt-get  install sshpass

centos:

# 源码包安装
 wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz 
 tar xvzf sshpass-1.05.tar.gz 
 cd sshpass-1.05.tar.gz 
 ./configure 
 make 
 make install 

# yum安装
yum  -y install sshpass

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值