一、前言
借用百度百科關於putty的描述:PuTTY是一個Telnet、SSH、rlogin、純TCP以及序列介面連線軟體。較早的版本僅支援Windows平臺,在最近的版本中開始支援各類Unix平臺,並打算移植至Mac OS X上。除了官方版本外,有許多第三方的團體或個人將PuTTY移植到其他平臺上,像是以Symbian為基礎的行動電話。PuTTY為一開放原始碼軟體,主要由Simon Tatham維護,使用MIT licence授權。隨著Linux在伺服器端應用的普及,Linux系統管理越來越依賴於遠端。在各種遠端登入工具中,Putty是出色的工具之一。Putty是一個免費的、Windows 32平臺下的telnet、rlogin和ssh客戶端,但是功能絲毫不遜色於商業的telnet類工具。
很多人是在Windows上進行開發的,但在實際的專案中難免有使用Linux伺服器的需求。而我們有時也無法避免的需要在Windows機器上來遠端執行Linux伺服器上的一些指令或者程式。本文就介紹 一種在命令列使用putty(而不是介面,方便程式設計)執行遠端命令的方法。
二、putty命令列指令簡介
putty提供了一些命令列指令,這些命令列指令可以在:http://the.earth.li/~sgtatham/putty/0.54/htmldoc/Chapter3.html#3.7找到,這裡只對幾個我們需要用到的介個指令進行介紹。
1. 在命令列啟動session
在命令列啟動session的指令為:
putty.exe [-ssh | -telnet | -rlogin | -raw] [user@]host
2. 標準指令介紹
2.1 選擇協議:-ssh, -telnet, -rlogin, -raw
這是putty支援的4個協議,在建立session時,我們需要指定使用的協議
2.2 -l:指定登入使用者名稱
2.3 -pw:指定密碼(明文密碼,在編寫程式碼時得考慮這裡的安全性)
2.4 -load:載入一個已儲存的session
在使用putty時,可以將session儲存,下次連線時,無需再進行配置即可直接連線。在通過命令列建立session時,可以直接使用這個指令,如:
putty.exe -load "server_session" xxx@yyyy
其中xxx為使用的使用者名稱,yyyy為我們要連線的遠端主機ip地址。
2.5 -m:指定包含需遠端執行的指令的本地檔案
如假設我們在cmd.txt這個檔案中寫了我們需要在遠端主機上執行的指令集合,則可以按如下方法在遠端主機上執行這些指令:
putty.exe -ssh xxx@yyyy -m "cmd.txt"
2.6 -i:指定SSH祕鑰
這個引數用於指定需要使用的SSH祕鑰檔案,假如遠端主機採用祕鑰檔案的方式來進行身份驗證,則可以使用如下指令來建立session:
putty.exe -ssh xxx@yyyy -i privatekey.ppk
只要將以上的”privatekey.ppk“換成你自己的檔案即可。