这是在运行 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,但它似乎对我不起作用。