天天看點

免密碼SSH遠端執行指令

我們經常需要在遠端主機上執行一些指令,為了友善,可以使用一些方法來實作免密碼SSH登入,比如:公鑰授權的方式。但是這種方式有一些缺陷,它是針對單台機器做的授權,也就是說,如果換了一台機器,授權就失效了,還是需要手動輸入密碼。

其實還有另外一種通用性比較強的方式: expect。

expect是一種模拟人機互動的程式。可以用它來模拟人輸入密碼的過程。

使用說明:

1.将下列代碼儲存為一個檔案,比如 remoteExecute :

2. 然後在要使用的機器上安裝 expect 程式( yum install -y expect )

3. 執行下列指令連接配接:

比如,在remoteExecute檔案所在的目錄執行:

就會在目前shell 列出 192.168.100.3 的 /root 目錄。

本文轉自 Bruceweien 51CTO部落格,原文連結:http://blog.51cto.com/bruceweien/1932414