1. 程式人生 > >可以在命令列直接使用密碼來進行遠端連線和遠端拉取檔案的命令:sshpass

可以在命令列直接使用密碼來進行遠端連線和遠端拉取檔案的命令: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]68.11.11         (當遠端主機不是預設的22埠時候)

 

 

例項3:從密碼檔案讀取檔案內容作為密碼去遠端連線主機

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

 

 

例項4:從遠端主機上拉取檔案到本地

命令:[email protected]_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