author:headsen chen
date : 2017-11-29 15:46:39
notice:created by headsen chen himself and not allowed to copy,or will done by low.
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] 'w' -o StrictHostChecking=no 免輸入yes。

執行個體:本地執行遠端機器的指令:
指令: 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:從遠端主機上拉取檔案到本地
指令: sshpass -p '123456' scp [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