如同apt-get安裝程式時會有-y參數來避免互動輸入一樣,我也希望在ssh登入時能夠直接附加登入密碼以避免互動式輸入密碼這一步,網上找了找,方法很多。
比如直接通過密鑰免密碼登入,不過需要改動很多,感覺很麻煩。這裡更想要的是不改動server/client的配置下直接免互動式ssh登入。
于是我先檢視幫助:

這裡沒有可用參數能夠附加登入密碼,于是繼續找辦法。
sshpass
sshpass: 用于非互動的ssh 密碼驗證
ssh登陸不能在指令行中指定密碼,也不能以shell中随處可見的,sshpass 的出現,解決了這一問題。它允許你用 -p 參數指定明文密碼,然後直接登入遠端伺服器。 它支援密碼從指令行,檔案,環境變量中讀取。
辦法找到了,現在先在自己機器上安裝。
對于debian/ubuntu系統來說,安裝方式很簡單:
對于其他系統來說,可以通過編譯源碼:
<code>wget </code>
<code>tar</code> <code>xvzf sshpass-1.05.</code><code>tar</code><code>.gz </code>
<code>.</code><code>/configure</code>
<code>make</code>
<code>sudo</code> <code>make</code> <code>install</code>
./configure 後可以添加參數指定安裝目錄,比如:
來把sshpass安裝到自己喜歡的位置,如果沒有這個參數,則安裝到預設位置。
安裝好了後,輸入sshpass來檢視是否安裝好了:
這樣就可以通過:
來登入遠端主機了
本文轉自 326647452 51CTO部落格,原文連結:http://blog.51cto.com/svsky/1957242,如需轉載請自行聯系原作者