Putty是一款比较不错的ssh客户端。给我的感觉就是轻便、快速。也有其他优秀的ssh客户端, 比如xshell
,MobaXterm
,finalshell
等。其中xshell是收费的; MobaXterm在使用的过程中卡顿卡顿的,然后在控制台输入中文很不友好,会卡输入法退格;finalshell不稳定,动不动就给你来个cpu 100%。
也正是因为轻便,它轻便到密码都懒得记。这样每次在连接ssh时都需要重新输入密码, 相当麻烦。
其次每次新建一个新的服务器连接, 总要在那个蛋疼的配置界面配来配去, 比如你配置好了控制的字体、光标、窗口标题等,新建一个连接又需要重新配置一次,相当麻烦。由于putty不支持多标签管理ssh客户端, 只能多个窗口打开, 这样也会导致打开多个窗口都不知道哪个是哪个, 例如下图:
如果开多了,切换一趟浏览器, 自己都不知道自己刚刚敲命令的是哪个了
出于对这个ssh客户端的热爱,接下来就解决这些问题(这里主要是解决windows下的putty)。
因为windows下的putty客户端的session配置都是保存在注册表中,因此解决这些问题的方法也很简单:
在putty中先配置好一个session配置(字体, 颜色啥的)
用脚本去修改注册表,改变session配置中的主机和窗口标题
用putty命令行的方式加载session配置,并携带密码打开putty(-load,-l,-pw 参数)
搞定, 接下来便开始动手:
第一步:配置默认session
双击直接打开putty会弹出如下的界面:
在如下图箭头所指的输入框里,填写jktheme
,这个session配置我们将会所有的链接都共用它。
然后自由配置好其他需要配置的东西,这里推荐配置一下字体样式(推荐consolas)和字体反锯齿:
其次配置一下空包的发送频率(这样可以让putty保持链接,而不会过一段时间不动就断开了链接),在下方箭头输入框处填上300(单位可能是秒吧)
至于窗口标题, 主机地址等不需要配置。(配置了也没用, 后面的步骤会将它覆盖)
配置设置完之后回到session目录,点save按钮保存下来
第二步:创建脚本文件(cmd或者bat)
这个脚本文件我已经写好了, 如果第一步的session名称不是
jktheme
请自行修改脚本代码使用时, 要把putty安装目录添加到环境变量里
在自己电脑找个专门存放putty会话的目录(或者就放桌面上吧),创建一个cmd文件命名为 run-putty.cmd
然后打开 run-putty.cmd
,将下列代码复制进去。
@echo off
rem 小小的窗口完成任务就可以了
mode con cols=20 lines=3
rem 自增计数
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以及大多数ide可能都会将文件保存为utf-8编码。
第三步: 创建服务器连接脚本
run-putty可以当做用来启动连接远程服务器的命令。
run-putty.cmd 文件的用法如下:
run-putty 主机地址 用户名 密码 "窗口标题"
例如:
run-putty 127.0.0.1 root 123456 "本地"
如果root用户没有密码:
run-putty 127.0.0.1 root "" "本地"
我一个文件的示例:
这里建议一个连接创建一个文件cmd文件, 例如 xxx.com.cmd
, 这样的话,打开自己需要的链接只要双击一个cmd文件就好了, 不用再输入用户名和密码。
类似这样:
运行的效果:
为了更方便打开putty链接,我的做法是把cmd文件都放在一个目录里面, 然后在其他地方创建一个新的目录,再将需要的cmd文件都创建快捷方式放在这个目录里面, 然后把这个目录添加到windows任务栏的工具栏中。更方便快捷:
这样就不需要去找存放文件的目录。
附新建工具栏的方法:
右键单击任务栏,在菜单中如下图, 选择新建工具栏
然后找到你存放文件的目录即可