secureCRT 是 Windows 下一款非常优秀的 SSH 客户端软件(商业软件),目前它的最新版本是 6.0 ,从 5.5 版开始支持 OpenSSH 格式的 Private Key ,并可以把它自己的 Private Key 转换为 OpenSSH 格式。
OpenSSH 是 Linux 下广泛使用的 SSH 程序。我自己在前一段时间广泛使用的一对密钥是通过 secureCRT 生成的,最近需要在 Linux 下也使用密钥的方式进行 SSH 连接,维护多对 SSH 密钥是比较麻烦的事情,而且容易搞混,可是私钥格式并没有统一标准,各个程序之间的格式通常是不兼容的。
在网上搜索了一下,发现 secureCRT 从 5.5 开始支持 OpenSSH 格式的私钥了,当然,为了避免重新生成一对密钥,它还有把 secureCRT 格式的密钥转换为 OpenSSH 格式密钥的工具,这下就方便多了。
下面是转换步骤:
- 打开菜单 Tools 中的“Convert Private Key to OpenSSH Format...” 。
- 选择自己的私钥文件,通常是叫做
Identity。 - 选择要保持的 OpenSSH 格式的私钥文件,这里命名为
Identity_openssh。 - 它会生成
Identity_openssh和Identity_openssh.pub两个文件,分别是私钥和公钥。 - 打开
Identity_openssh,复制文件内容。 - 如果你的
~/.ssh/identity有你以前生成的私钥的话,记得备份一下。然后执行cat > ~/.ssh/identity,并把文件内容粘贴上去,按Ctrl+D结束。
secureCRT 确实是一个非常不错的软件,新版本里面还添加了对 Emacs 的特别支持,有一个选项可以选择将 Alt 键作为 Meta 键发送,而不是被 Windows 作为访问菜单的快捷键,这样就不用一个一个地手工映射快捷键了。
下面还附上将 secureCRT 生成的公钥导入到远程主机上的方法:
- 连接到远程主机。
- 打开 secureCRT 生成的公钥文件,通常叫做 Identity.pub 。
- 复制公钥文件的内容。
- 在远程主机上输入
cat > /tmp/identity.pub。 - 在 secureCRT 中将公钥内容粘贴上去,按下
Ctrl+D结束输入。 - 导入公钥:
ssh-keygen -X -f /tmp/identity.pub >> ~/.ssh/authorized_keys2。 - 确保
authorized_keys2文件的权限正确:chmod 600 ~/.ssh/authorized_keys2。
Comments (1)