使用putty自動登入並執行遠端主機的程式或指令

有人不想自己輸入帳號、密碼登入、也不想下指令。想要簡簡單單的click滑鼠,就能ssh到遠方的伺服器,並執行特定指令。

查了一下putty的文件,在Using PuTTY - The PuTTY command line有符合這樣需求的詳盡指令的說明。

想要執行的指令,逐一寫在script.txt內(檔案位於本機)。由於帳號的寫法有兩種,所以下面也提供兩個範例…
putty -ssh 127.0.0.1 -l user -pw password -m script.txt
putty -ssh user@127.0.0.1 -pw password -m script.txt
附註:指令執行完畢,putty視窗會自動關閉

利用上述command line的指令,已經可以連到遠方主機,並執行script.txt內的指令。不過,要做到滑鼠click即可執行,還差個步驟…此時,馬上聯想使用附檔名bat、或cmd來處理。

沒想到,無論是bat、cmd,雖然可以呼叫出putty,卻會出現如下Access denied的訊息…等待我輸入密碼…
Using username "user".
Access denied
Using keyboard-interactive authentication.
Password:

嘗試很多做法,依舊停在該訊息,無法達到自動登入…只好再仔細看文件,發現…文中提到,要用捷徑(Windows shortcut)。原文如下…
PuTTY can be made to do various things without user intervention by supplying command-line arguments (e.g., from a command prompt window, or a Windows shortcut).

雖然,這樣可以簡簡單單的click滑鼠並在遠方伺服器執行想執行的指令…不過……帳號、密碼也就暴露在此了… :P

留言

contagion寫道…
你可以試試用 public key authentication
匿名表示…
可以用keepass開putty就不會見光死