为什么curl sftp会失败,curl:(2)建立ssh会话失败

为什么curl sftp会失败,curl:(2)建立ssh会话失败

这是在运行 Jessie 的 Raspberry Pi Model B Rev 1 上进行的。

我正在尝试消除所有 .netrc 文件,并使用公钥身份验证设置所有文件传输到我的网络主机。

它适用于 ssh:

pi@rasp ~/.ssh $ ssh [email protected]
Last login: Sun Aug  8 17:44:47 2021 from node-p2s.pool-101-51.dynamic.totinternet.net
[email protected] [~]# exit

它适用于普通的旧 sftp:

pi@rasp ~/.ssh $ sftp [email protected]
Connected to ftp.mydomain.com.
sftp>

它适用于 scp:

pi@rasp ~/webcam $ scp rasp.txt [email protected]:~/public_html
rasp.txt                                      100%   16     0.0KB/s   00:00

但对于curl/sftp 失败:

pi@rasp ~/webcam $ curl -v -T rasp.txt -u \
myname: --pubkey ~/.ssh/id_rsa.pub \
sftp://ftp.mydomain.com/~/public_html/
* Hostname was NOT found in DNS cache
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
*   Trying 192.254.225.101...
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
* Connected to ftp.mydomain.com (192.254.225.101) port 22 (#0)
* Failure establishing ssh session
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
* Closing connection 0
curl: (2) Failure establishing ssh session

请注意,它在我的 Pi 4 运行的 Buster 上运行良好。所以,我假设这一定与 Jessie 或我在其上运行的curl 版本有关:

pi@rasp ~/webcam $ curl -V
curl 7.38.0 (arm-unknown-linux-gnueabihf) libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API SPNEGO NTLM NTLM_WB SSL libz TLS-SRP

它宣传自己支持 sftp,但它似乎对我不起作用。

相关内容