トップページ > コンテンツ > コンピュータ関連その他 > UNIXコマンド > scp

基本的な書き方

<ローカルマシンからリモートホストにコピー>
scp ローカルファイル ユーザ名@リモートホスト名:パスとなる。

<リモートホストからローカルマシンにコピー>
scp ユーザ名@リモートホスト名:ファイルパス ローカルマシンのコピー先

よく使うオプション

p 権限まわりを維持してコピー
r ディレクトリを再帰的にコピー
C 圧縮してコピー

踏み台を経由してコピーする場合(ローカルマシン=>踏み台マシン=>接続したいマシン等)


ProxyCommandを使うことで実現できる。

scp -o 'ProxyCommand ssh 踏み台ユーザ名@踏み台アドレス -i ~/.ssh/踏み台の秘密鍵 -W %h:%p' -i ~/.ssh/踏み台に置いてある接続先マシンにつなぐための秘密鍵 ローカルマシンのファイル 接続先マシンのユーザ名@接続先マシンアドレス:/パス

よく使う接続先であれば、~/.ssh/configを下記のように設定しておこう。

Host 踏み台サーバのホスト
 HostName 踏み台サーバのIPアドレス
Host 接続先ホスト
 HostName 接続先ホストのIPアドレス
 ProxyCommand ssh 踏み台サーバのホスト -W %h:%p

※sshがWオプションに対応するより昔はnetcat(nc)を使ったらしい。

注意事項

大容量ファイルを扱う場合は途中で失敗してしまうケースがある。
rsyncコマンド等を検討しよう。
最終更新:2019年04月06日 22:00