首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >坏协议2主机密钥算法'+ssh-dss‘

坏协议2主机密钥算法'+ssh-dss‘
EN

Stack Overflow用户
提问于 2017-05-15 10:12:49
回答 1查看 10K关注 0票数 1

我试图通过shell脚本将文件发送到SFTP,但收到以下错误

代码语言:javascript
复制
Bad protocol 2 host key algorithms '+ssh-dss'

但是,如果手动运行SFTP命令,我就能够传输该文件。

请建议一下。

EN

回答 1

Stack Overflow用户

发布于 2017-06-25 17:17:19

我最近也遇到了这个错误。这种情况发生在我的例子中,因为我已经为7.0版本的客户端修改了SSH配置文件。然后,我尝试使用SSH6.6对另一台计算机使用相同的配置。步骤:

  1. 检查您的SSH版本:ssh -V。如果是OpenSSH_6.6..。你可能和我在同一条船上。
  2. ~/.ssh/config中查找一个配置文件,其中~表示您的主目录。如果你找不到,在/etc/ssh/ssh_config找一个。
  3. 使用文本编辑器打开配置文件,并查找一行:HostKeyAlgorithms +ssh-dss
  4. 通过将#添加到开头对行进行注释。

交替解

在重新阅读原始文章之后,看起来问题可能只是运行两个不同版本的SSH,可能是在shell中运行7.0,在脚本中运行6.6。在这种情况下,这可能是一个更好的解决办法:

  1. 在shell中,键入:type -a sftp。最重要的结果是您的shell正在使用的sftp。例如/usr/local/bin/sftp。如果有更多的结果,您的脚本可能会运行其中之一,因为它有不同的路径定义。
  2. 将脚本中的sftp调用更改为步骤1中找到的sftp二进制文件的完整路径。
  3. 或者,您可以将脚本中的路径设置为与shell的路径相同。要做到这一点,在shell中发出echo $PATH。复制输出并在脚本顶部附近添加一行:export PATH='<path you copied>'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43976819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档