Putty是我最常用的工具之一,我用它来登录并管理远程主机、VPS、站点以及树莓派香蕉派等设备。
(图源 :pixabay)
因为要管理的设备很多,所以Putty中保存了一堆会话信息,这样需要访问哪个我直接点击就可以,不用每次重新输入IP信息。
但是保存的会话多,也带来一个问题,就是切换电脑时,每次都要重新在Putty中一个个敲入会话信息,极其麻烦。那么有没有方法一下子导出导入Putty的会话信息呢?
首先,Putty软件本身并不提供导出或者导入会话功能,所以想直接在Putty软件界面操作是不可能啦。那么是不是就没有办法了呢?当然不是,下面听我细细道来。
Putty信息的存储位置
首先,我们要搞明白的是Putty的会话信息是存储在哪里的?通过一番搜索,我发现这个信息是保存在注册表的如下位置:
HKEY_CURRENT_USER\Software\SimonTatham
我们可以通过注册表编辑器查看,在搜索栏中输入regedit
,就会找到注册表编辑器(Registry Editor),点击即可执行。或者使用Win+R,调出运行(Run)窗口,输入regedit
就可以打开注册表编辑器:
Reveal spoiler
打开后可能是这个样子:
Reveal spoiler
然后我们在菜单下边的输入框输入HKEY_CURRENT_USER\Software\SimonTatham
并回车,就会找到和 Putty有关的信息,展开后大致是这个样子:
Reveal spoiler
其中Sessions中就保存着我们一直之前使用Putty时保存的会话信息。
导出Sessions信息
有了上述操作基础,我们就可以导出Sessions信息了。
将鼠标定位到上述截图Sessions位置,并点击右键,选择导出(Export),弹出如下对话框:
Reveal spoiler
选择我们要保存的位置,并为文件命名,比如说putty,然后点击保存(Save),就会将上述注册表项保存为.reg格式的文件:
Reveal spoiler
导入注册表
将上述文件(putty.reg)复制到其它电脑,并点击上述文件,会弹出如下提示信息:
Reveal spoiler
大致就是让我们谨慎操作,问我们是否确认导入,当然选择YES啦,就会弹出导入成功的提示啦:
Reveal spoiler
再打开Putty,就会发现,我们在其它电脑的Putty中保存的Sessions信息都过来啦,这样就不用逐一添加了。
命令行操作导出
尽管上述操作已经非常简单,但是对于新手来说,可能会找不到位置,或者不小心误删除注册表中的其它条目等等。
要知道注册表就相当于系统和软件的一个大数据库,搞坏了,系统或者软件就可能工作不正常。
那么有没有相对安全的方式呢?比如说不去手动打开注册表编辑器,且能完成上述工作。答案是有的!
其实Windows除了提供给我们GUI界面的注册表编辑器,还提供了一个命令行方式的操作工具reg
。首先我们来看一下帮助:
reg /?
不能看出,reg
命令还是非常强大的,有读取、添加、删除注册表条目等诸多功能:
Reveal spoiler
当然还有我们要用到的导出(Export)功能了。
但是你可能又会问,用命令行操作也可能敲错命令,风险更高啊?这个问题提得好,所以这里我们要用到批处理文件。
所谓批处理文件,其实就是类似Linux下的shell脚本,把一系列命令放到一个文本文件中,然后会一起执行。不过这里我们只需要一条指令即可:
reg export HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\Sessions D:\putty.reg
我们可以将其直接执行,也可以将其保存到文本文件中,并将扩展名修改为.bat,就可以执行啦,比如存储成下列文件:
Reveal spoiler
然后鼠标双击执行,就会在指定位置生成putty.reg,里边包含的就是Putty中已保存的Sessions信息啦。然后复制并在其它电脑导入即可完成迁移。
导入其实也可以用脚本完成,但是相比于点击直接执行,再写给脚本去点击执行,就是多此一举啦,哈哈哈哈。
总结
通过使用注册表编辑器(Registry Editor)或者命令行的注册表操作工具(reg.exe),可以高效地将Putty中保存的会话信息迁移到其它电脑,而无需逐一输入,大幅减少工作量且提升了效率。
看来做事之前研究一下,就可以事半功倍,否则就会事倍功半呀。
我一般用tmux来管理多个Session. 需要用终端连接到一台Linux server, 然后运行tmux,再连接到其它设备终端,这样就比较方便更换客户端。只要运行tmux 的 Linux server的一直run就行了
都是高难度的教材。
不是IT行业的人真看不懂。