SSHを介してあるコンピュータから別のコンピュータにファイルをコピーしようとしています。どちらのマシンもUbuntuサーバーです。両方のコンピュータは、パスワードなしで互いにログインできるようにキーを交換しました。
私のコマンドは次のとおりです(もちろん、プライバシーのために詳細が変更されました)。
scp -i /var/www/place/.ssh/id_rsa file.tar.gz [email protected]:directoryName/file.tar.gz
ところで、実行するたびに次のエラーが発生します。
Could not create directory '/var/www/.ssh'.
Host key verification failed.
lost connection
コマンドは、名前scp
の.ssh
高いレベルのディレクトリを作成しようとしているようですplace
。
ここで何が起こっているのでしょうか? scpを実行するには、一種の一時ディレクトリを作成する必要がありますか?
このコマンドを実行するユーザーアカウントは、/var/www/placeには読み取り/書き込み権限がありますが、/var/wwwにはありません。それでは、このscpコマンドをどのように実行しますか?
(私はLinuxのコマンドラインの経験が多くないので、長くて簡単に答えてください。ご了承いただきありがとうございます。)
答え1
この問題は、あなたが設定した公開鍵認証とは関係ありません。秘密鍵と公開鍵に加えて、SSH は接続する各ホストのホスト鍵を ~/.ssh ディレクトリの Known_hosts というファイルの下に保存します。表示されるエラーは、このファイルを生成しようとしているSSHの初期試行で発生します。