尝试使用DSA指纹通过SFTP将文件传输到远程服务器?

时间:2017-05-09 12:41:42

标签: curl ssh dsa

完全披露,我是一名网络开发人员,而不是网络管理员,所以这些东西在我的驾驶室之外。

我尝试使用cURL启动SFTP连接并将简单文本文件传输到远程主机。当我运行这个cURL命令时:

curl -u username:password -T /path/to/file.txt sftp://host.com:22/file.txt

我收到此错误:curl:(51)SSL对等证书或SSH远程密钥不正常

所以我联系了远程主持人的管理员,他们回复了这条消息:

  

请使用我们的主机密钥ssh-dss 1024 12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef

经过一番挖掘,我了解到我无法从他们提供的信息中生成公钥。我不知道如何处理这些信息。有什么建议?我想我以为我需要他们的公钥文件......这是正确的吗?

非常感谢任何和所有的见解。谢谢!

2 个答案:

答案 0 :(得分:2)

我想最简单的方法是使用sftp

手动连接
sftp host.com

它会提示您验证主机密钥或出现错误,指出不允许使用DSA。在第一种情况下,请确认您拥有与管理员提供的相同的内容并写下"是"。

如果您的客户不接受DSA,请在HostKeyAlgorithms +ssh-dss中添加~/.ssh/config

之后,您应该能够使用您的命令传输文件。

答案 1 :(得分:0)

  

-k,-不安全

     

(SSL)此选项明确允许curl执行“不安全的” SSL连接>并进行传输。试图通过使用默认安装的CA证书捆绑包来确保所有SSL连接的安全。除非使用-k,--insecure,否则所有认为“不安全”的连接都会失败。

     

有关更多详细信息,请参见此在线资源:http://curl.haxx.se/docs/sslcerts.html

来自:https://serverfault.com/questions/469824/curl-disable-certificate-verification