3068

を使用してリモートホストからローカルホストにフォルダをコピーするにはどうすればよいscpですか?

ssh私は自分のサーバーにログインするために使用します。次に、リモートフォルダをローカル
にコピーしたいと思います。foo/home/user/Desktop

どうすればこれを達成できますか?

4

12 に答える 12

5603
scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

foo の末尾に末尾の「/」を含めないことにより、ディレクトリの内容だけでなく、ディレクトリ自体 (内容を含む) をコピーします。

からman scp(オンラインマニュアルを参照)

-r ディレクトリ全体を再帰的にコピーします

于 2012-07-03T05:21:39.313 に答える
293

ローカルの場所からリモートの場所にすべてコピーするには(アップロード)

scp -r /path/from/local username@hostname:/path/to/remote

リモート ロケーションからローカル ロケーションにすべてコピーするには(ダウンロード)

scp -r username@hostname:/path/from/remote /path/to/local

カスタム ポートカスタム ポート番号xxxxはどこですか

 scp -r -P xxxx username@hostname:/path/from/remote /path/to/local

現在のディレクトリをリモートからローカルにコピー

scp -r username@hostname:/path/from/remote .

ヘルプ:

  1. -rすべてのディレクトリとファイルを再帰的にコピーする
  2. からの完全な位置情報を常に使用、完全な位置情報を/取得:pwd
  3. scpすべての既存のファイルを置き換えます
  4. hostnameホスト名またはIPアドレスになります
  5. カスタムポートが必要な場合 (ポート 22 以外) を使用-P portnumber
  6. . (ドット) - 現在の作業ディレクトリを意味するため、サーバーからダウンロード/コピーして、ここにのみ貼り付けます。

注:ファイアウォールでポートが許可されていないために、カスタム ポートが機能しない場合があるため、受信および送信接続に対してファイアウォールでカスタム ポートが許可されていることを確認してください。

于 2016-05-23T09:38:25.317 に答える
41

最初にリモート サーバーでカタログを圧縮することをお勧めします。

tar czfP backup.tar.gz /path/to/catalog

次に、リモートからダウンロードします。

scp user@your.server.example.com:/path/to/backup.tar.gz .

最後に、ファイルを抽出します。

tar -xzvf backup.tar.gz
于 2014-05-29T11:12:01.563 に答える
25

典型的なシナリオ、

scp -r -P port username@ip:/path-to-folder  .

サンプルで説明すると、

scp -r -P 27000 abc@10.70.12.12:/tmp/hotel_dump .

どこ、

port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory
于 2015-07-06T07:21:08.510 に答える
23

また、リモートの場所からダウンロードするファイルが非常に多く、セキュリティをあまり気にしない場合は、scp のデフォルトの暗号化 (Triple-DES) を「blowfish」などに変更してみてください。

これにより、ファイルのコピー時間が大幅に短縮されます。

scp -c blowfish -r user@your.server.example.com:/path/to/foo /home/user/Desktop/
于 2014-06-17T06:02:32.773 に答える
17

「Too many authentication failures」が発生した場合は、サーバーの ssh サーバーに追加した正確な SSH キーを指定します。

scp -r -i /path/to/local/key user@remote.tld:/path/to/folder /your/local/target/dir
于 2016-09-26T21:54:58.757 に答える
15

問題は、コマンドを使用してフォルダーをリモートからローカルにコピーする方法でしたscp

$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir

しかし、sftpSSH ファイル転送プロトコル (セキュア ファイル転送プロトコル、または SFTP) は、信頼できるデータ ストリーム上でファイル アクセス、ファイル転送、およびファイル管理を提供するネットワーク プロトコルです (ウィキペディア)。

$ sftp user_remote@remote_ip

sftp> cd /path/to/remoteDir

sftp> get -r remoteDir

Fetching /path/to/remoteDir to localDir 100% 398 0.4KB/s 00:00

sftpコマンドのヘルプについてはhelp、 またはと入力して?ください。

于 2016-08-15T05:47:35.620 に答える
5

理由はわかりませんが、ソース サーバー ディレクティブの前にローカル フォルダーを使用する必要がありました。それを機能させるために

scp -r . root@888.888.888.888:/usr/share/nginx/www/example.org/
于 2016-04-29T19:44:11.347 に答える