![Curl 使用公钥身份验证而不是密码,并且不要求指纹验证](https://linux22.com/image/214536/Curl%20%E4%BD%BF%E7%94%A8%E5%85%AC%E9%92%A5%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E8%80%8C%E4%B8%8D%E6%98%AF%E5%AF%86%E7%A0%81%EF%BC%8C%E5%B9%B6%E4%B8%94%E4%B8%8D%E8%A6%81%E6%B1%82%E6%8C%87%E7%BA%B9%E9%AA%8C%E8%AF%81.png)
我有以下命令,我尝试使用 curl 和 sftp 上传文件远程主机。
curl -v -k --user user1:password -T /home/user1/file1.txt sftp://hostname/home/user1/
当我运行这个时,我得到了。
% 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 1.2.3.4.5...
* TCP_NODELAY set
* Connected to hostname1 (1.2.3.4.5) port 22 (#0)
* User: user1
* Authentication using SSH public key file
* Completed public key authentication
* Authentication complete
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
* Connection #0 to host hostname1 left intact
我在这里有两个问题:
- 当我指定密码时,为什么它尝试使用公钥身份验证。
- 它是如何成功的,两者都是新服务器,之前从未相互通信过,所以我应该收到验证指纹的提示吗?
实际上,由于指纹更改的自动化问题,我完全希望避免公钥身份验证并使用密码。
答案1
删除命令行中的“-k”