可以在命令行直接使用密码来进行远程连接和远程拉取文件的命令:sshpass

 

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

使用前提:对于未连接过的主机。而又不输入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 [email protected]

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

命令: sshpass -p xxx ssh [email protected] "ethtool eth0"

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

命令:sshpass -p 123456 ssh -p 1000 [email protected]         (当远程主机不是默认的22端口时候)

 

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

命令:sshpass -f xxx.txt  ssh [email protected]

 

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

命令: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






文章来源:https://www.cnblogs.com/kaishirenshi/p/7921308.html

猜你喜欢

转载自www.cnblogs.com/liang545621/p/9805783.html