怠日記

写真・金魚・昆虫・プログラミングの趣味を語るサイトです。似たようなことをnoteにも書いたり書いてなかったり。

scp コマンドの使い方

リモート⇔ローカル間でファイルやディレクトリをコピーするには scp コマンドを使う。




リモートのファイルをローカルにコピーするには


リモートコンピューター(IPアドレス: 192.0.2.0)のユーザー john のファイル /home/john/foo.txt をローカルにコピーするには、次のように入力する。

% scp john@192.0.2.0:/home/john/foo.txt foo.txt

IPアドレスの部分はホスト名でもよい。
ホスト名が「hostname」の場合、次のように入力する。

% scp john@hostname:/home/john/foo.txt foo.txt

ファイルのタイムスタンプやパーミッションを保持するには -p オプションを付ける。

% scp -p john@192.0.2.0:/home/john/foo.txt foo.txt

もし接続先に SSH 接続をしたことがない場合、次のようなメッセージが表示される。

そのまま接続してよいなら「yes」を入力、中断するなら「no」を入力する。

The authenticity of host '192.0.2.0 (192.0.2.0)' can't be established.
RSA key fingerprint is 1a:2b:3c:4d:5e:6f:7g:8h:9i:0j:1k:2l:3m:4n:5o:6p.
Are you sure you want to continue connecting (yes/no)?    ←ここに yes または no を入力

既知のホストファイルに接続先を追加した旨のメッセージが表示される。

(既知のホストファイル → ~/.ssh/known_hosts

Warning: Permanently added '192.0.2.0' (RSA) to the list of known hosts.

パスワードの入力プロンプトが表示されるので、接続先ユーザーのパスワードを入力する。

Password:    ←ここにパスワードを入力

リモートコンピューターのファイルがコピーされた。

foo.txt                                                               100%   44KB  43.8KB/s   00:00