Linux - scp, ssh を使用してサーバーからローカルにディレクトリをダウンロードします。

Linux - scp, ssh を使用してサーバーからローカルにディレクトリをダウンロードします。

scp次のコマンドを使用して、クラウドサーバーからローカルにディレクトリをダウンロードしようとします。

scp -i ./.ssh/mykey.pem -r -p [email protected]:/var/lib/mongodb 127.0.0.1:/var/lib/mongod

adminリモートは当然キーを入力する必要がありますが、127.0.0.1はローカルです。

しかし、エラーメッセージが表示されます。

Host key verification failed.
lost connection

SSHを使用してサーバーに接続しようとすると機能します。ssh -i ./.ssh/mykey.pem [email protected]

誰もが私が間違っていることを指摘できますか?

答え1

ローカルサーバーにコピーするには、127.0.0.1:以下を行う必要はありません。

scp -i ./.ssh/mykey.pem -r -p [email protected]:/var/lib/mongodb /var/lib/mongod

scpを使用して127.0.0.1:127.0.0.1のサーバーへの別のSSH接続を確立し、2つのリモートサーバー間であるかのようにコピーします。 127.0.0.1のSSHサーバーがホストキーの検証に失敗する可能性があります。

答え2

マニュアルページでは、

scp [-346BCpqrv] [-c パスワード] [-F ssh_config] [-i ID ファイル] [-l 制限] [-o ssh_options] [-P ポート] [-S プログラム] [[ user@]host1:]file1 .. . [ user@]host2:]ファイル2

127.0.0.1したがって、最後の部分を使用するときにscpそれをとして識別してくださいhost2。これはscp、IDファイル()に基づいて現在を使用してホストにログインしようとし、それに関する情報がないためにエラーを返します。これでうまくいきます。127.0.0.1username./.ssh/mykey.pemhost2

$scp -i ./.ssh/mykey.pem -r -p [email protected]:/var/lib/mongodb /var/lib/mongodb

または

$cd /var/lib/mongodb
$scp -i ./.ssh/mykey.pem -r -p [email protected]:/var/lib/mongodb .

関連情報