Curl 使用公钥身份验证而不是密码,并且不要求指纹验证

Curl 使用公钥身份验证而不是密码,并且不要求指纹验证

我有以下命令,我尝试使用 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”

相关内容