【隨筆】ssh登錄時如何直接在參數中加入登錄密碼


  如同apt-get安裝程序時會有-y參數來避免交互輸入一樣,我也希望在ssh登錄時能夠直接附加登錄密碼以避免交互式輸入密碼這一步,網上找了找,方法很多。

  比如直接通過密鑰免密碼登錄,不過需要改動很多,感覺很麻煩。這里更想要的是不改動server/client的配置下直接免交互式ssh登錄。

  於是我先查看幫助:

  

  這里沒有可用參數能夠附加登錄密碼,於是繼續找辦法。


  sshpass

  sshpass: 用於非交互的ssh 密碼驗證

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

  辦法找到了,現在先在自己機器上安裝。

  對於debian/ubuntu系統來說,安裝方式很簡單:

sudo apt-get install sshpass

  對於其他系統來說,可以通過編譯源碼:

1 wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz  
2 tar xvzf sshpass-1.05.tar.gz  
3 ./configure 
4 make  
5 sudo make install  

  也可以直接通過訪問這個來下載sshpass-1.05.tar.gz文件。

  ./configure 后可以添加參數指定安裝目錄,比如:

./configure --prefix=/usr/local/Cellar/sshpass/1.05 

  來把sshpass安裝到自己喜歡的位置,如果沒有這個參數,則安裝到默認位置。

  安裝好了后,輸入sshpass來查看是否安裝好了:

  


  這樣就可以通過:

sshpass -p [passwd] ssh -p [port] root@192.168.X.X

  來登錄遠程主機了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM