SSH 加密私钥的使用

325 阅读1分钟

公司的线上跳板机配置是用的免登陆方式。具体是给每个人 ldap 下绑定一个 rsa 私钥,然后申请权限后,配置 ~/.ssh/config 文件就可以了。

但是由于 ldap 下绑定的私钥是加密过的,每次登陆的时候都会提示输入密码。

Enter passphrase for key 'xxx':

为了更方便使用,有两个方法。

使用 ssh-agent

ssh-agent 是一个管理 ssh 私钥的工具。使用步骤如下:

eval `ssh-agent -s`
ssh-add ~/.ssh/rsa_key

由于私钥被加密过,所以上面第二步一样需要输入密码。这种方式配置后,后续就不用再输入密码了,但是电脑重新启动后需要再次配置。

解密 RSA 私钥

既然已经知道密码和加密后的私钥,那么可以直接进行解密,将解密后的私钥配置到 ssh config 中。

加密之前的私钥可以用 vim 打开,头部如下:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,E68818F079AB7F9F5379E387CD19F58F

解密命令如下,命令执行后需要输入密码:

openssl rsa -in <Encrypted key filename>  -out < desired output file name>

参考文档:

  1. How to Decrypt an RSA Private Key Using OpenSSL on NetScaler