世界の地域と人を結ぶ、パシフィックモール開発株式会社

サーバ間のファイル転送はscpコマンドで行うことができる

scpコマンドは、sshを利用してリモートマシン間でファイルコピーするコマンドです。scpコマンドでは、「sshコマンド」と同じ認証でデータ転送の通信を暗号化するので、安全にリモートマシン間でファイルコピーができます。

scpコマンド

書式

scp [オプション] コピー元 コピー先

scpコマンドでは、「sshコマンド」と同じ認証でデータ転送の通信を暗号化するので、安全にリモートマシン間でファイルコピーができます。

オプション

-C 通信を圧縮します。
-i 秘密鍵ファイル 秘密鍵ファイル(identityファイル)を指定します。初期設定は、SSHバージョン1は、~/.ssh/identity、SSHバージョン2は、~/.ssh/id_rsa と ~/.ssh/id_dsa。
-P ポート番号 ポート番号を指定します。
-p コピー元の更新時間とモードを維持します。
-r ディレクトリ内を再帰的にコピーします。
-1 SSHのプロトコルバージョン1を使用します。
-2 SSHのプロトコルバージョン2を使用します。
-4 IPv4を使用します。
-6 IPv6を使用します。

使用例①

コピー元のファイル(tmp.txt)をリモートマシン(IPアドレス:aaa.bbb.ccc.ddd)のホームディレクトリ(/home/karuma)にコピーします。IPアドレス(またはホスト名)とコピー先ディレクトリの間は、コロン「:」で区切ります。

$ scp tmp.txt karuma@aaa.bbb.ccc.ddd:~/
karuma@aaa.bbb.ccc.ddd's password: 
tmp.txt                                                                 100%   31     0.0KB/s   00:00    

パスワード認証の場合、sshと同じようにパスワードを要求されます。

使用例②

コピー元のディレクトリ(dir)をホスト名(example.com)のVPS(リモートマシン)の/tmpにコピーします。また、オプション -C で通信を圧縮しています。

$ scp -rC dir karuma@examle.com:/tmp

/tmp にディレクトリ(dir)がコピーされているかをsshコマンドで確認します。

$ ssh karuma@example.com ls /tmp
karuma@example.com's password: 
dir

関連コマンド

ssh, sftp

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です