scpコマンド 【secure copy】 secure copy protocol
概要
scpコマンド(secure copy)とは、ネットワーク上に暗号化された伝送経路を構成して別のコンピュータを遠隔操作するSSHのコマンドの一つで、手元のコンピュータとの間でファイルを送受信するもの。SSHは手元のコンピュータから遠隔地のコンピュータへの通信を暗号化し、認証情報やコマンドの発行、応答などの通信内容を安全にやりとりできる。scpはSSH上でのファイルコピー機能で、接続先のコンピュータとの間で安全にファイルの送受信が行える。
基本的な書式は「scp オプション コピー元 コピー先」で、UNIX系OSでファイルのコピーを行う標準のコマンドであるcpコマンドやrcpコマンドと共通している。接続先(リモート側)のパスをコピー元にを指定すれば受信、コピー先に指定すれば送信となる。
ローカル側の指定は一般的なパス表記だが、リモート側の指定は「ユーザー名@IPアドレス:パス」という表記になる。IPアドレスは変換可能な環境ならばホスト名やドメイン名(FQDN)で指定することもできる。初回接続時にはSSHによる認証が必要となる。
主なオプションは、「-i ファイル名」で秘密鍵ファイルを指定、「-C」でデータ圧縮、「-p」でパーミッションや更新日時などのメタ情報などを変更しない、「-r」でディレクトリ内の再帰的に複製、「-P」で接続ポート番号を指定、「-1」でSSHバージョン1を使用、「-2」でSSHバージョン2を使用、「-4」でIPv4を使用、「-6」でIPv6を使用などとなっている。
一方、SSH上でファイル転送を行なう機能としては「SFTP」(SSH File Transfer Protocol/sftpコマンド)もあり、こちらはFTPに似たコマンド体系で操作することができる。伝送効率はscpの方が高いとされるが、ファイル一覧の取得や転送中断後の再開など、SFTPの方が機能が豊富である。
(2022.5.16更新)