最近由于某些原因,在公司使用了好多年的SecureCRT被运维部的同事告知不能用了,而SecureCRT使用了好多年,上面的各种Session配置,老实说,如果一个个来配置,这将是一个不小的工作量。作为码农,不由得想到是否有偷懒的办法。
google一下,发现居然有一个工具叫做Session Importer。这个工具可以将SecureCRT上的诸多回话copy到Xshell的Session目录中。
Session Importer 下载URL:https://download.csdn.net/download/dhaibo1986/20221740
其中SecureCRT Import则是将SecureCRT中的回话导入到Xshell的工具。
可以看到,这个工具可以自动识别SecureCRT的Session配置文件目录。
之后点击OK按钮就导入了。
不过需要注意的是,如果打开XSell无法找到CRT的相关配置,那么可能SessionImpoter导入的默认目录并不是XSell缺省的Session目录。
改工具m默认的目录为:
C:\Users\Administrator\AppData\Roaming\NetSarang\Xshell\Sessions
因此我们只需要将Session目录中的文件copy到Xshell的缺省目录即可。
但是这个工具还存在一个问题,就是在Xshell中需要再次输入密码。
考虑到Session中的文件服务器资源还不少,而一时之间,很难想起之前的密码是多少。数十台服务器的连接信息总不能挨个找运维同事修改吧。
我猜想改密码肯定是加密了存放ini文件中。
在google上发现了一个非常不错的project。how-does-SecureCRT-encrypt-password,这个project可以将crt加密的密码还原。
按照README文件,首先安装pycryptodome依赖包:
[d:\~]$ pip3 install pycryptodome
Collecting pycryptodome
Downloading pycryptodome-3.10.1-cp35-abi3-win_amd64.whl (1.6 MB)
Installing collected packages: pycryptodome
Successfully installed pycryptodome-3.10.1
之后下载该project:
git clone https://github.com/HyperSine/how-does-SecureCRT-encrypt-password.git
CRT的ini文件中的Password如下:
S:"Password"=u626f8c9cf34f8cfcbae7c8dc0eb302f101847b3be22df77cc9434341d0c00ebbfae4a2477682e69d
执行如下:
[D:\workspace-git\how-does-SecureCRT-encrypt-password\python3]$ python SecureCRTCipher.py dec 626f8c9cf34f8cfcbae7c8dc0eb302f101847b3be22df77cc9434341d0c00ebbfae4a2477682e69d
r7zbsg'bfi9O
可见,密文626f8c9cf34f8cfcbae7c8dc0eb302f101847b3be22df77cc9434341d0c00ebbfae4a2477682e69d解密之后为r7zbsg'bfi9O,即得到我们需要的password。
如果password格式为:
S:"Password V2"=02:7b9f594a1f39bb36bbaa0d9688ee38b3d233c67b338e20e2113f2ba4d328b6fc8c804e3c02324b1eaad57a5b96ac1fc5cc1ae0ee2930e6af2e5e644a28ebe3fc
前面有V2,则需要加上-v2参数。
$ ./SecureCRTCipher.py dec -v2 7b9f594a1f39bb36bbaa0d9688ee38b3d233c67b338e20e2113f2ba4d328b6fc8c804e3c02324b1eaad57a5b96ac1fc5cc1ae0ee2930e6af2e5e644a28ebe3fc
DoubleLabyrinth
至此,就可以完全将Session数据迁移到XShell了。