KeepassX结合SecureCRT登录

以下配置实现:在KeepassX中双击一主机的"网址"部份,自动在SecureCRT的一个标签页中登录主机,将不用再输入帐号密码等信息。

SecureCRT

把keepass中的key的url项改成如下形式:

# Windows:
cmd://"D:\tools\SecureCRTPortable\App\SecureCRT\SecureCRT.exe" /N {TITLE} /L {USERNAME} /PASSWORD {PASSWORD} /T /P 22 {TITLE}

# MacOS:
cmd:///Applications/SecureCRT.app/Contents/MacOS/SecureCRT /N {TITLE} /L {USERNAME} /PASSWORD {PASSWORD} /T /P 22 {TITLE}

CRT的绝对路径是C:\SecureCRT\SecureCRT.exe,entry的title就是主机名(或IP地址),端口是22,USERNAME是用户(root或者是其他的用户名)。

详细说明可以查看crt的帮助文档的Using the Software--》Command-Line Options--》Table of Protocol-Specific Command-Line Options部分。

Windows

用批处理将以上命令包装一下,简化KeepassX里的设置,又可方便统一进行入口参数检查和调整、以及更换其他ssh工具。放到C:\windows目录下,方便直接调用。

在KeepassX的URL项设置为:cmd://ssh.cmd {TITLE} {USERNAME} {PASSWORD} 22

注意:KeepassX的标题要填写成IP地址。

另外,因KeepassX不把windows下的转义符^当作特殊字符,若密码中包含^字符,会因传参数时未加双引号而丢失^符,造成登录失败。

cmd://"C:\SecureCRT\SecureFX.exe" sftp://{USERNAME}:{PASSWORD}@{TITLE}

如果使用Keepass 2.0以上版本,则可以设置自定义属性。

MacOS

CygWin

需要另外用except或pexcept写自动登录脚本才能完成自动登录。

# 先开一个终端,并运行以下命令开启sesssion
screen -S ssh

# 在keepassX中设置如下URL项:
cmd://C:\cygwin\bin\bash.exe -c "/usr/bin/screen -dr -S ssh -X screen -t {TITLE} ssh {USERNAME}@{TITLE}"

调用putty

cmd://putty.exe -ssh {TITLE} -l {USERNAME} -pw {PASSWORD}

Linux桌面:gnome-terminal