我试图通过shell脚本将文件发送到SFTP,但收到以下错误
Bad protocol 2 host key algorithms '+ssh-dss'但是,如果手动运行SFTP命令,我就能够传输该文件。
请建议一下。
发布于 2017-06-25 17:17:19
我最近也遇到了这个错误。这种情况发生在我的例子中,因为我已经为7.0版本的客户端修改了SSH配置文件。然后,我尝试使用SSH6.6对另一台计算机使用相同的配置。步骤:
ssh -V。如果是OpenSSH_6.6..。你可能和我在同一条船上。~/.ssh/config中查找一个配置文件,其中~表示您的主目录。如果你找不到,在/etc/ssh/ssh_config找一个。HostKeyAlgorithms +ssh-dss。#添加到开头对行进行注释。交替解
在重新阅读原始文章之后,看起来问题可能只是运行两个不同版本的SSH,可能是在shell中运行7.0,在脚本中运行6.6。在这种情况下,这可能是一个更好的解决办法:
type -a sftp。最重要的结果是您的shell正在使用的sftp。例如/usr/local/bin/sftp。如果有更多的结果,您的脚本可能会运行其中之一,因为它有不同的路径定义。sftp调用更改为步骤1中找到的sftp二进制文件的完整路径。echo $PATH。复制输出并在脚本顶部附近添加一行:export PATH='<path you copied>'https://stackoverflow.com/questions/43976819
复制相似问题