Putty是一款比較不錯的ssh客戶端。給我的感覺就是輕便、快速。也有其他優(yōu)秀的ssh客戶端, 比如xshell,MobaXterm,finalshell 等。其中xshell是收費的; MobaXterm在使用的過程中卡頓卡頓的,然后在控制臺輸入中文很不友好,會卡輸入法退格;finalshell不穩(wěn)定,動不動就給你來個cpu 100%。
也正是因為輕便,它輕便到密碼都懶得記。這樣每次在連接ssh時都需要重新輸入密碼, 相當麻煩。
其次每次新建一個新的服務器連接, 總要在那個蛋疼的配置界面配來配去, 比如你配置好了控制的字體、光標、窗口標題等,新建一個連接又需要重新配置一次,相當麻煩。由于putty不支持多標簽管理ssh客戶端, 只能多個窗口打開, 這樣也會導致打開多個窗口都不知道哪個是哪個, 例如下圖:

如果開多了,切換一趟瀏覽器, 自己都不知道自己剛剛敲命令的是哪個了

出于對這個ssh客戶端的熱愛,接下來就解決這些問題(這里主要是解決windows下的putty)。
因為windows下的putty客戶端的session配置都是保存在注冊表中,因此解決這些問題的方法也很簡單:
在putty中先配置好一個session配置(字體, 顏色啥的)
用腳本去修改注冊表,改變session配置中的主機和窗口標題
用putty命令行的方式加載session配置,并攜帶密碼打開putty(-load,-l,-pw 參數(shù))
搞定, 接下來便開始動手:
第一步:配置默認session
雙擊直接打開putty會彈出如下的界面:

在如下圖箭頭所指的輸入框里,填寫jktheme,這個session配置我們將會所有的鏈接都共用它。

然后自由配置好其他需要配置的東西,這里推薦配置一下字體樣式(推薦consolas)和字體反鋸齒:

其次配置一下空包的發(fā)送頻率(這樣可以讓putty保持鏈接,而不會過一段時間不動就斷開了鏈接),在下方箭頭輸入框處填上300(單位可能是秒吧)

至于窗口標題, 主機地址等不需要配置。(配置了也沒用, 后面的步驟會將它覆蓋)
配置設置完之后回到session目錄,點save按鈕保存下來

第二步:創(chuàng)建腳本文件(cmd或者bat)
這個腳本文件我已經(jīng)寫好了, 如果第一步的session名稱不是
jktheme請自行修改腳本代碼使用時, 要把putty安裝目錄添加到環(huán)境變量里
在自己電腦找個專門存放putty會話的目錄(或者就放桌面上吧),創(chuàng)建一個cmd文件命名為 run-putty.cmd
然后打開 run-putty.cmd ,將下列代碼復制進去。
@echo off
rem 小小的窗口完成任務就可以了
mode con cols=20 lines=3
rem 自增計數(shù)
tasklist /FI "IMAGENAME eq putty.exe" | find /c "putty.exe" > tmp
for /F %%j in ( tmp ) do ( set counter=%%j )
if %counter%==0 (
set counter=0
del counter.data
) else (
if exist counter.data (
for /f %%i in ( counter.data ) do ( set counter=%%i)
) else (
set counter=0
)
)
del tmp
set /A counter=%counter%+1
echo %counter% > counter.data
rem 將主機和窗口標題寫入注冊表, 更改putty的session配置
reg add HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\jktheme /v HostName /t REG_SZ /d %1 /f > nul
reg add HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\jktheme /v WinTitle /t REG_SZ /d "%counter% - %4(%1)" /f > nul
rem 打開putty加載指定session, 指定用戶名和密碼
start "" putty -load jktheme -l %2 -pw %3
rem 暫停一下是因為讓putty窗口先出來, 避免putty窗口焦點丟失又要鼠標重新去點一下
ping 127.0.0.1 -n 2 > nul
然后保存。
這里要注意,不能將cmd文件保存為 utf-8 格式,一定要保存為ANSI(gb2312),因為windows utf-8編碼的cmd文件中文會亂碼。建議使用 notepad++ 軟件進行編輯和保存。 vscode,sublime以及大多數(shù)ide可能都會將文件保存為utf-8編碼。
第三步: 創(chuàng)建服務器連接腳本
run-putty可以當做用來啟動連接遠程服務器的命令。
run-putty.cmd 文件的用法如下:
run-putty 主機地址 用戶名 密碼 "窗口標題"
例如:
run-putty 127.0.0.1 root 123456 "本地"
如果root用戶沒有密碼:
run-putty 127.0.0.1 root "" "本地"
我一個文件的示例:

這里建議一個連接創(chuàng)建一個文件cmd文件, 例如 xxx.com.cmd, 這樣的話,打開自己需要的鏈接只要雙擊一個cmd文件就好了, 不用再輸入用戶名和密碼。
類似這樣:

運行的效果:

為了更方便打開putty鏈接,我的做法是把cmd文件都放在一個目錄里面, 然后在其他地方創(chuàng)建一個新的目錄,再將需要的cmd文件都創(chuàng)建快捷方式放在這個目錄里面, 然后把這個目錄添加到windows任務欄的工具欄中。更方便快捷:

這樣就不需要去找存放文件的目錄。
附新建工具欄的方法:
右鍵單擊任務欄,在菜單中如下圖, 選擇新建工具欄

然后找到你存放文件的目錄即可