Net-SSH/Capistrano 问题:"Could not parse PKey: no start line"
Net-SSH/Capistrano problem: "Could not parse PKey: no start line"
多年来,我一直在使用 Capist运行o 成功部署我的 Rails 3.2.13 应用程序。但是就在今天,我 运行 在连接到服务器时进入了可怕的 ArgumentError: Could not parse PKey: no start line
。
从其他帖子我了解到,这实际上是 net-ssh
gem 的一个问题,Capist运行o 用来建立连接。显然,旧版本的 net-ssh
与更新版本的 OpenSSH 创建的密钥文件不兼容。 (例如,参见 here and here。)
此诊断得到以下支持:(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
,因为我卡在 Ruby 1.9.3.
是否有办法恢复到私钥文件的 old/compatible 版本?或者其他一些解决方案?
由 运行 解决:
ssh-keygen -p -m PEM
然后按照提示"reset"我的私钥密码。
添加 -m PEM
选项让我恢复了旧式 ~/.ssh/id_rsa
文件,我需要它与我的旧版本 net-ssh
兼容。
多年来,我一直在使用 Capist运行o 成功部署我的 Rails 3.2.13 应用程序。但是就在今天,我 运行 在连接到服务器时进入了可怕的 ArgumentError: Could not parse PKey: no start line
。
从其他帖子我了解到,这实际上是 net-ssh
gem 的一个问题,Capist运行o 用来建立连接。显然,旧版本的 net-ssh
与更新版本的 OpenSSH 创建的密钥文件不兼容。 (例如,参见 here and here。)
此诊断得到以下支持:(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
,因为我卡在 Ruby 1.9.3.
是否有办法恢复到私钥文件的 old/compatible 版本?或者其他一些解决方案?
由 运行 解决:
ssh-keygen -p -m PEM
然后按照提示"reset"我的私钥密码。
添加 -m PEM
选项让我恢复了旧式 ~/.ssh/id_rsa
文件,我需要它与我的旧版本 net-ssh
兼容。