sshpass的簡介與使用

今天在配置 svn 鉤子的時候,想要登錄到另一臺服務器上時,指定明文密碼進行ssh登錄的時候,總是沒有響應的停滯在那裏了,命令如下:

  • sshpass -p 用戶明文密碼 ssh 用戶名@遠程服務器 IP 地址

因爲這是連的一臺新的服務器,最初並沒有進行 ssh 登錄測驗,所以在使用sshpass 登錄之前一定要先測試ssh登錄。
接着查了下相關資料,並作出瞭如下的歸納以便日後類似問題的查看。


sshpass 的定義:ssh 登陸不能在命令行中指定密碼,sshpass 的出現則解決了這一問題。它允許你用 -p 參數指定明文密碼,然後直接登錄遠程服務器,它支持密碼從命令行、文件、環境變量中讀取。

第一種使用情況:直接遠程連接某臺主機

  • 命令:sshpass -p xxx ssh root@遠程服務器IP地址

第二種使用情況:遠程連接指定 ssh 的端口:

  • 命令:sshpass -p 123456 ssh -p 1000 root@遠程服務器IP地址 (當遠程主機不是默認的22端口時候)

第三種使用情況:從密碼文件讀取文件內容作爲密碼去遠程連接主機

  • 命令:sshpass -f xxx.txt ssh root@遠程服務器IP地址

第四種使用情況:從遠程主機上拉取文件到本地

  • 命令: sshpass -p '123456' scp root@遠程服務器IP地址:/home/test/t ./tmp/

在配置 svn 鉤子時碰到的另一個問題是,使用非 root 賬戶配置遠程鉤子時,需要在遠程服務器上使用非 root 賬戶進行檢出,因爲使用 root 賬戶檢出後,在進行 svn 提交鉤子更新時將出現權限問題。

參考資料:
sshpass簡介及安裝 https://my.oschina.net/Julian1988/blog/144261
sshpass的使用方法 https://www.cnblogs.com/kaishirenshi/p/7921308.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章