tek*_*ina 11 ssh capistrano ruby-on-rails digital-ocean capistrano3
我已在DO中配置了Droplet,nginx已启动并成功运行.我在DO上通过Capistrano部署到服务器的指南.我可以在不输入密码的情况下进入服务器.但在运行时,bundle exec cap production deploy:initial
我得到一个非常奇怪的错误:
cap aborted!
NotImplementedError: unsupported key type
PL +盖???U????X??K\?L?[?\?
?M?\?
?M?A?d??h"sU???2??h??a 5G??E???%!Cg??j?|??tu?yL*?'/9?s?'
我正在使用rsa SSH密钥,这已经与许多(> 10)服务器无缝协作.我试图ssh_options
从我的deploy/production.rb
文件中删除param .这应该在之前询问服务器密码(我猜?).但是我得到了同样的错误,导致我怀疑其他东西正在绊倒我.
宝石版本:
net-ssh (3.2.0)
capistrano (3.6.0)
sshkit (1.11.2)
我相信您偶然发现了 sshkit 中的一个错误。最新版本的 sshkit 有一个自定义的 SSH 密钥加载和缓存机制,旨在提高连接性能。
然而,自定义实现似乎并不像它所取代的默认 net-ssh 实现那么安全。具体来说,net-ssh 将默默地忽略它不支持的密钥。unsupported key type
sshkit 自定义密钥加载器不会执行此操作,因此它会因您看到的错误而崩溃。
如果我的理论是正确的,那么您应该能够通过关闭 sshkit 的自定义密钥加载器并强制使用原始的 net-ssh 实现来解决您的问题。您可以通过将以下内容添加到您的deploy.rb
:
set :ssh_options, known_hosts: Net::SSH::KnownHosts
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
429 次 |
最近记录: |