web-dev-qa-db-ja.com

リモートサーバーからローカルマシンにファイルをコピーする方法は?

ターミナルシェルで、リモートサーバーにsshし、必要なディレクトリにcdしました。このディレクトリには、ローカルマシンにコピーするtableというファイルがあります/home/me/Desktop。これどうやってするの?

scp table /home/me/Desktopを試しましたが、そのようなファイルまたはディレクトリがないというエラーが発生しました。誰もこれを行う方法を知っていますか?

ありがとう

31
omega

たとえば、リモートホストはexample.comで、リモートログイン名はuser1です。

scp [email protected]:/path/to/file /path/to/store/file
58
kkpoon

Scp操作は、sshログインとは別のものです。 jdoeがリモートシステムにログインするアカウントであり、リモートシステムがexample.comであると仮定して、次のようなsshコマンドを発行する必要があります。

scp [email protected]:/somedir/table /home/me/Desktop/.

/ home/me/Desktopが存在するシステムから発行されたscpコマンドの後に、リモートサーバー上のアカウントのユーザーIDが続きます。次に、「:」の後にリモートサーバー上のディレクトリパスとファイル名を追加します(例:/ somedir/table)。次に、スペースとファイルのコピー先の場所を追加します。クライアントシステムでファイルに同じ名前を付けたい場合は、ピリオドでそれを示すことができます。つまり、「。」ディレクトリパスの最後。別の名前が必要な場合は、代わりに/ home/me/Desktop/newnameを使用できます。 SSH接続に非標準ポートを使用している場合、そのポートを「-P n」(大文字のP)で指定する必要があります。「n」はポート番号です。標準ポートは22で、SSH接続に指定しない場合は必要ありません。

4
MoonPoint

Scpを使用する場合、ファイルのコピー元のホスト名とIPアドレスを指定する必要があります。たとえば、リモートホストにいて、ファイルをPCに転送する場合は、次のようなものを使用できます。

scp -P[portnumber] myfile_at_remote_Host [user]@[your_ip_address]:/your/path/

例:

scp -P22テーブル[email protected]:/ home/me/Desktop /

一方、実際にマシンにいる場合は、次のようなものを使用できます。

scp -P[portnumber] [remote_login]@[remote's_ip_address]:/remote/path/myfile_at_remote_Host /your/path/

例:

scp -P22 [fake_user] @ 222.222.222.222:/ remote/path/table/home/me/Desktop /

4
dgsleeps