多年来,我一直在成功地使用Capistrano部署Rails 3.2.13应用程序。但是就在今天,我在连接到服务器时遇到了可怕的ArgumentError: Could not parse PKey: no start line。
从其他文章中我了解到,这实际上是net-ssh gem的一个问题,卡皮斯特拉诺使用它来建立连接。显然,较早版本的net-ssh与最近版本的OpenSSH创建的关键文件不兼容。(例如,请参阅这里和这里。)
这一诊断得到以下支持:(a)我仍然可以从命令行将SSH放入服务器,(b)下面的小irb会话:
irb(main):006:0> require 'net/ssh'
=> true
irb(main):007:0> Net::SSH::KeyFactory.load_private_key('~/.ssh/id_rsa')
ArgumentError: Could not parse PKey: no start line我想我最近在更改密码时更新了我的私钥文件,现在它与我的net-ssh版本(v2.7.0)不兼容。
我无法升级net-ssh,因为我只能使用Ruby1.9.3。
是否有办法回到旧的/兼容版本的私钥文件?或者其他的解决方案?
发布于 2019-01-11 17:50:48
通过运行来解决它:
ssh-keygen -p -m PEM然后按照提示“重置”我的私钥密码。
添加-m PEM选项使我返回了与旧版本的net-ssh兼容所需的旧风格的net-ssh文件。
https://stackoverflow.com/questions/54150803
复制相似问题