【エスシーピー】

scp とは?

💡 暗号化トンネルでファイルを届ける、セキュアな宅配便
📌 このページのポイント
scp — SSH経由でファイルを安全にコピー ローカルPC report .txt SSH暗号化トンネル 暗号化されたデータ 中身は見えない リモートサーバー report .txt scpコマンドの使い方 アップロード scp file.txt user@host:/path/ ダウンロード scp user@host:/path/file.txt ./
scpのイメージ
ひよこ ひよこ

scpって、ファイルをコピーするだけのコマンドなの?

ペンギン先生 ペンギン先生

ただのコピーじゃなくて「ネットワーク越しに安全にコピー」するコマンドだよ。自分のパソコンからサーバーにファイルを送ったり、サーバーから取ってきたりするときに使うんだ。通信はSSHで暗号化されるから、途中で覗き見されても中身はわからないよ

ひよこ ひよこ

どうやって使うの?

ペンギン先生 ペンギン先生

たとえばローカルのファイルをサーバーに送るなら `scp report.txt user@server:/home/user/` だよ。逆にサーバーからファイルを取ってくるなら `scp user@server:/var/log/app.log ./` という感じ。ディレクトリごとコピーしたいときは `-r` オプションを付けるんだ

ひよこ ひよこ

FTPとは何が違うの?

ペンギン先生 ペンギン先生

一番の違いはセキュリティだね。従来のFTPは通信が暗号化されないから、パスワードもファイルの中身も丸見えだったんだ。scpはSSHの暗号化を使うから安心。しかもSSHの鍵認証も使えるから、パスワードなしで安全にファイル転送できるよ

ひよこ ひよこ

scpよりrsyncの方がいいって聞いたことがあるけど、本当なの?

ペンギン先生 ペンギン先生

場面によるけど、rsyncの方が便利なことが多いのは事実だよ。rsyncは差分転送ができるから、大きなファイルの一部だけ変わったときに変更部分だけ送れるんだ。実はOpenSSHの開発チームもscpのプロトコルは古くて問題があるとして、sftpやrsyncへの移行を推奨しているよ。新しいOpenSSHではscpの内部がsftpプロトコルに置き換わっていたりするんだ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「scp」って出てきたら「SSHで暗号化しながらファイルをリモートコピーするコマンド」と思えればだいたいOK!
📖 おまけ:英語の意味
「Secure Copy Protocol」 = セキュアコピープロトコル
💬 「Secure(安全な)」+「Copy(コピー)」+「Protocol(通信手順)」の略だよ。cpコマンドのネットワーク対応&セキュリティ強化版みたいなイメージだね
← 用語集にもどる