次のコマンドがあり、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
ここに2つの質問があります。
- パスワードを指定するときに公開鍵認証を使用しようとするのはなぜですか?
- どのように動作しますか?どちらも新しいサーバーであり、以前に互いに通信したことはありません。それでは、指紋を確認するように求められますか?
事実、指紋変更の自動化の問題のため、公開鍵認証を避け、パスワードをすべて使用する方が良いです。
答え1
コマンドラインから「-k」を削除する