heroku - heroku-20 堆栈上的 ssh-dss
问题描述
在将我的 Ruby on Rails 应用程序从 heroku-16 升级到 heroku-20 堆栈时,我不再能够连接到某个 SFTP 服务器:
could not settle on host_key algorithm
Server host_key preferences: ssh-dss
Client host_key preferences: ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384,ecdsa-sha2-nistp256,ssh-rsa-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-rsa
看来他们已经在当前堆栈中删除了对 ssh-dss 的支持。根据https://www.openssh.com/legacy.html它可以通过修改 /.ssh/config 文件来启用 '
Host somehost.example.org
HostKeyAlgorithms +ssh-dss
虽然我不知道如何或是否可以在 Heroku 上修改它。
任何帮助表示赞赏,谢谢。
解决方案
append_all_supported_algorithms: true
我能够通过将参数添加到Net::SFTP.start
调用中来重新启用 DSS 。根据 net-ssh文档,这将一直有效,直到 gem 版本 7 完全删除 DSS 支持。
推荐阅读
- mysql - 根据“父”表的主键从关系表中选择所有记录作为数组
- unity3d - Direct3D 计算着色器的运行速度比 Unity 计算着色器慢 15 倍
- c# - 为什么捕获 AggregateException 会导致 CA2000 处理警告?
- abap - 数据声明中的 % 符号是什么意思?
- python - Python:向元组添加元素
- spring-boot - CORS 错误 - Spring Boot 安全性 + HTTPS 重定向
- python - Python 请求 - BadStatusLine('Content-type: text/html\r\n')
- c++ - 推演指南和特化找出是否指定了模板参数:不工作
- java - 我如何让 opensearch 服务器在 linux 上使用 ssl https
- ios - 我可以使用单个 Cocoapod 定位多个 Xcode/Swift 版本吗?