shell命令sshpass非互動ssh密碼驗證
#安裝sshpasssshpass
$ tar -zxvf sshpass-1.05.tar.gz
$ cd sshpass-1.05
$ ./configure --prefix=/opt/sshpass
#指定安裝目錄
$ make
$ make install
$ cp /opt/sshpass/bin/sshpass /usr/bin/
安裝完成
#檢視幫助
sshpass -h
usage: sshpass [-f|-d|-p|-e] [-hv] command parameters
-f filename take password to use from file
-d number use number as file descriptor for getting password
-p password provide password as argument (security unwise)
-e password is passed as env-var "sshpass"
with no parameters - password will be taken from stdin
-h show help (this screen)
-v print version information
at most one of -f, -d, -p or -e should be used
#!/bin/bash
cd $(dirname $0)
source ./config.sh
date=`date +%y-%m-%d`
#上傳dump指令碼到服務端
sshpass -pyour_pwd scp -p22 ./dump.sh [email protected]:~/
#-o stricthostkeychecking=no 避免第一次登入出現公鑰檢查。
sshpass -pyour_pwd scp -o stricthostkeychecking=no -p22 ./dump.sh [email protected]:~/
#登陸到服務端位址,執行dump指令碼,將執行結果寫入本地檔案
sshpass -pyour_pwd ssh -p22 your_user @192.168.1.10 "sh ~/dump.sh" >local_result.txt
#使用檔案中的密碼
sshpass -f pwd.file ssh -p22 [email protected] "sh ~/dump.sh" >>local_result.txt
#從環境變數(sshpass)讀取密碼
sshpass -e ssh -p22 [email protected] "sh ~/dump.sh" >>local_result.txt
sshpass命令使用
一 sshpass安裝 yum install sshpass sshpass v 二 sshpass命令使用 1 直接遠端連線某主機 sshpass p ssh 2 遠端連線指定ssh的埠 sshpass p ssh p 3 從密碼檔案讀取檔案內容作為密碼去遠端連線主機 sshpass f ssh...
sshpass命令使用
1 直接遠端連線某主機 sshpass p ssh 2 遠端連線指定ssh的埠 sshpass p ssh p 3 從密碼檔案讀取檔案內容作為密碼去遠端連線主機 sshpass f ssh 4 從遠端主機上拉取檔案到本地 sshpass p scp 5 將主機目錄檔案拷貝至遠端主機目錄 sshpas...
sshpass非互動SSH的密碼驗證
ssh登陸不能在命令列中指定密碼。sshpass的出現,解決了這一問題。sshpass用於非互動ssh的密碼驗證,一般用在sh指令碼中,無須再次輸入密碼 本機known hosts檔案中有的主機才能生效 它允許你用 p 引數指定明文密碼,然後直接登入遠端伺服器,它支援密碼從命令列 檔案 環境變數中讀...