securecrt 常见问题

本文介绍了SecureCRT9.1.0中关于标签标题设置、vim输入问题及密码存储与解密的解决方案,包括密码加密算法和Python脚本实现。

securecrt 常见问题

  • 版本如下
    Version 9.1.0 (x64 build 2579) - Official Release - 2021年9月2日

securecrt 会话标签标题被修改问题

在使用securecrt创建SSH会话标签时,我喜欢使用IP作为标签标题。但有时候发现标签标题总是被自动修改,导致多个标签的标题是一样的,很不方便。我们可以设置securecrt不自动修改标签标题。

  • Options>Edit default session>Terminal>Emulation>Advanced>Ignore window title change requests
    在这里插入图片描述
    在这里插入图片描述

在securecrt中vim输入问题乱码

  • 字体缩小改成11号试试
  • Options>Edit default session>Terminal>Appearance>Fonts>Font
    在这里插入图片描述

恢复在securecrt中保存的密码

我们有时会把密码保存在securecrt中,这样避免每次连接时都需要手动输入密码的麻烦。时间长了,当我们需要在另外的地方连接时发现忘了原来的密码是多少,这时我们可以通过已经在securecrt中保存的密码来恢复。
securecrt对我们的密码做了加密保存,我们先找到这个加密后的字符串,然后再对这个字符串解密即可得到我们需要的密码明文。具体步骤分为两步:

  • 找到要恢复的.ini文件,找到要恢复的加密过的密文
    • 找到securecrt会话记录位置
      Options>Global Opions>General>Configuration Paths>Configuration folder
      在这里插入图片描述
      在这里插入图片描述

    • 找到加密后的密码
      复制上面找到的配置文件路径,在windows资源管理器中打开,并进入sessions目录
      sessions目录存放的就是我们创建的所有会话配置文件,找到我们要恢复的会话配置.ini文件并打开
      在这里插入图片描述
      一般在文件最开始的几行就能找到。
      如上图,用户名为root,密码为39......,加密版本v2

  • 解密加密的密码
    • 使用pip安装Crypto模块
    pip3 install pycryptodome
    
    • 编写python解密脚本 securecrtdec.py
#!/usr/bin/env python3
#https://github.com/HyperSine/how-does-SecureCRT-encrypt-password
import os
from Crypto.Hash import SHA256
from Crypto.Cipher import AES, Blowfish

class SecureCRTCrypto:

   def __init__(self):
       '''
       Initialize SecureCRTCrypto object.
       '''
       self.IV = b'\x00' * Blowfish.block_size
       self.Key1 = b'\x24\xA6\x3D\xDE\x5B\xD3\xB3\x82\x9C\x7E\x06\xF4\x08\x16\xAA\x07'
       self.Key2 = b'\x5F\xB0\x45\xA2\x94\x17\xD9\x16\xC6\xC6\xA2\xFF\x06\x41\x82\xB7'

   def Encrypt(self, Plaintext: str):
       '''
       Encrypt plaintext and return corresponding ciphertext.
       Args:
           Plaintext: A string that will be encrypted.
       Returns:
           Hexlified ciphertext string.
       '''
       plain_bytes = Plaintext.encode('utf-16-le')
       plain_bytes += b'\x00\x00'
       padded_plain_bytes = plain_bytes + os.urandom(Blowfish.block_size - len(plain_bytes) % Blowfish.block_size)

       cipher1 = Blowfish.new(self.Key1, Blowfish.MODE_CBC, iv = self.IV)
       cipher2 = Blowfish.new(self.Key2, Blowfish.MODE_CBC, iv = self.IV)
       return cipher1.encrypt(os.urandom(4) + cipher2.encrypt(padded_plain_bytes) + os.urandom(4)).hex()

   def Decrypt
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值