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