可以在命令列直接使用密碼來進行遠端連線和遠端拉取檔案的命令:sshpass
阿新 • • 發佈:2018-11-11
應用範圍:可以在命令列直接使用密碼來進行遠端連線和遠端拉取檔案。
使用前提:對於未連線過的主機。而又不輸入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