EEA*_*EAA 7 openssl ssh-keygen ssh-keys
我有几个用户在 OSX 上使用SmartCVS与我们的 CVS 存储库进行交互。我们使用 cvs :ext:(SSH2) 方法访问存储库,该存储库存储在远程 linux 系统上。我们使用 ssh 密钥身份验证,并要求用户使用密码来加密他们的私钥。
OSX 附带的 ssh-keygen 版本AES-128-CBC用于加密私钥,显然 SmartCVS 使用的任何 ssh 库都不支持解密此密码,因为它会引发错误。如果我使用 PuTTYgen 在 Windows 上生成一个密钥并将该密钥移动到 OSX,则一切正常。PuTTYgen(以及 Linux 上的 ssh-keygen 的大多数版本)使用DES-EDE3-CBC密码,SmartCVS 能够毫无问题地解密。
所以,我的问题是:有没有办法告诉 ssh-keygen 在加密私钥时使用哪种密码?ssh-keygen(1)OSX 上的手册页没有说明能够设置密码类型,但我希望可能有其他方法可以在一代之后转换为另一种密码类型。
我不确定如何让 ssh-keygen 使用特定的加密算法创建密钥。
您可以直接使用 OpenSSL 生成您的密钥。
# create 1024 bit rsa and encrypt with des3
# make sure you set your umask or chmod this so that it is 0600,
# or else ssh will refuse to use it.
openssl genrsa -des3 -out .ssh/id_rsa 1024
# export an ssh public key
ssh-keygen -y -f .ssh/id_rsa > .ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
您还可以在事后使用 OpenSSL 转换现有密钥的密码。
openssl rsa -in id_rsa -out newkey_id_rsa -des3
Run Code Online (Sandbox Code Playgroud)
有关各种选项的列表,请参阅:genrsa(1)、rsa(1)和ssh-keygen(1)。
| 归档时间: |
|
| 查看次数: |
5381 次 |
| 最近记录: |