サーバーに1つの大きなファイルがone
あり、をtwo
使用してサーバーにコピーしたいscp
。キーを正しくセットアップし、デスクトップから両方のサーバーにssh / scpできます。
コピーする必要があるファイルは、ワークステーションのhddの空き容量よりも大きいため、次のようにしたかったです。
scp one:/opt/bigfile.tar.gz two:/opt/bigfile.tar.gz
しかし、私は得た:
ssh: Could not resolve hostname one: Name or service not known
ここにはDNSがないので(理由は聞かないでください)、〜/ .ssh / configにこれがあります。
Host one
Hostname <IP address of server one>
User jspurny
Host two
Hostname <IP address of server two>
User jspurny
小さいファイルで試しone
て、ワークステーションからに転送すると、正常にtwo
動作します。
scp one:/opt/smallerfile.tar.gz .
scp smallerfile.tar.gz two:/opt/
コメントで提案されているようにIPアドレスを直接使用すると、次のようになりました。
$ scp jspurny@<one's IP>:bigfile.tar.gz jspurny@<two's ip>:bigfile.tar.gz
Host key verification failed.
lost connection
問題ない:
ここではサイズは問題ではありませんbigfile.tar.gz
。ワークステーションに保存する方法がなかったため、この問題の「トリガー」にすぎませんでした。問題は、ファイルサイズに関係なく発生します。
質問:
なぜコマンドは:
scp oneremote:file secondremote:file
.ssh/config
エイリアスを使用するか、IPアドレスを直接使用するかに関係なく、エラーをスローしますか?
解決-並べ替え-まだ説明を探しています -私はビッグファイルを小さなファイルに分割し、ワークステーションを介して1つずつ転送しました。私はまだそれがなぜ機能しなかったのか疑問に思っています。だから、私はまだ何が間違っていたかのいくつかの説明をいただければ幸いです。
それが失敗する理由を見つけた:私は愚かだったようです。私はコマンドだと思った
scp one:file two:file
各サーバーへの接続を2つ作成してから、1つからデータを受信し、すぐに2つに送信して、リレーのように動作していました。
シンプルなので、これは、明らかにそうではありません-v
オプションは、それが実際にだけに接続することを明らかにした1から1それがに接続しようとする2。サーバー1は2に接続することを想定していないため、これは明らかに不可能です。