使うとき、たまに忘れる。
ローカルファイルをリモートへコピー
カレントディレクトリの foo.txt をリモートへコピーする。
-P オプションでポートを指定。
リモートの指定は ユーザー名@ホスト名(もしくはIPアドレス):コピー先ディレクトリ 。
$ scp -P 22 ./foo.txt username@192.168.x.x:~/path/to/dir/
リモートファイルをローカルへコピー
リモートの ~/path/to/dir/ にある piyo.txt ファイルをローカルのカレントディレクトリにコピーする。
$ scp -P 22 username@192.168.x.x:~/path/to/dir/piyo.txt ./
ディレクトリをコピーしたい
-r オプションをつけることでディレクトリをコピーすることも可能。
ローカルからリモート。
$ scp -r ./hoge_dir username@192.168.x.x:~/path/to
リモートからローカル。
$ scp -r username@192.168.x.x:~/path/to/hoge ~/
SSH鍵を指定して接続
-i オプションを使うことで鍵を指定して接続できる。
$ scp -i path/to/keyfile ./foo.txt username@192.168.x.x:~/path/to/dir/
ssh configを指定して接続
configに設定している接続名を使えばいいだけ。
Host piyopiyo
HostName 192.168.x.x
Port 22
User username
このようなconfigがある場合は以下のようにすればいい。
$ scp ./foo.txt piyopiyo:~/path/to/dir/