在大多數情況下,linux 系統管理員使用 ssh 登入到程 linux 伺服器時,要麼是通過密碼,要麼是無密碼 ssh 登入,或基於金鑰的 ssh 身份驗證。
如果你想自動在 ssh 登入提示符中提供密碼和使用者名稱怎麼辦?這時 sshpass 就可以幫到你了。
sshpass 的定義:ssh 登陸不能在命令列中指定密碼,sshpass 的出現則解決了這一問題。它允許你用 -p 引數指定明文密碼,然後直接登入遠端伺服器,它支援密碼從命令列、檔案、環境變數中讀取。
安裝sshpass:
一、啟用 epel 倉庫並使用 yum 命令安裝它。
yum install sshpass -y
二、原始碼安裝 sshpass:
$ wget -o sshpass.tar.gz
$ tar -xvf sshpass.tar.gz
$ cd sshpass-1.06
$ ./configure
# sudo make install
三、rpm包安裝sshpass:
可以去官網獲取rpm安裝包,安裝命令 rpm -ivh sshpass(包名)
檢視sshpass包是否安裝成功:rpm -qa | grep sshpass
#rpm包也可以聯絡作者獲取。
使用sshpass:
1、直接遠端連線某主機
sshpass -p ssh @
2、遠端連線指定ssh的埠
sshpass -p ssh -p $ @
3、從密碼檔案讀取檔案內容作為密碼去遠端連線主機
sshpass -f $ ssh @
4、從遠端主機上拉取檔案到本地
sshpass -p scp @:$ $
5、將主機目錄檔案拷貝至遠端主機目錄
sshpass -p scp $ @:$
6、遠端連線主機並執行命令
sshpass -p ssh -o stricthostkeychecking=no @ 'rm -rf /tmp/test'
-o stricthostkeychecking=no :忽略密碼提示
例for i in `cat /home/jiaoben/$1`;do sshpass -p密碼 ssh -o stricthostkeychecking=no $2@$i $3;done
$1是批量主機ip $2是使用者名稱 $3是需要批量執行的命令,長命令用」」括起來。
個人**-------------->
自動化部署工具
1.puppet puppet是開源的基於ruby的系統配置管理工具,基於c s的部署架構。是乙個為實現資料中心自動化管理而設計的配置管理軟體,它使用跨平台語言規範,管理配置檔案 使用者 軟體包 系統服務等。客戶端預設每隔半小時會和伺服器通訊一次,確認是否有更新。當然也可以配置主動觸發來強制客戶端更...
自動化互動工具 expect
lenovo v110 15ikb notebook scp 192.168.70.187 123 192.168.70.187 s password sudo apt install expect 安裝會在 usr bin 下生成expect工具。spawn 啟動新的程序 send 用於向程序傳送...
自動化測試工具
二 如何實施自動化測試 自動化測試指軟體測試的自動化,在預設狀態下執行應用程式或者系統預設條件包括正常和異常,最後評估執行結果。將人為驅動的測試行為轉化為機器執行的過程。自動化測試框架一般可以分為兩個層次,上層是管理整個自動化測試的開發,執行以及維護,在比較龐大的專案中,它體現重要的作用,它可以管理...