基本的な使い方
専ら普通に使うのでしたら、以下の形式で大丈夫です。$scp -P [port番号] [転送元のファイル] [転送先サーバーのユーザー名]@[転送先のIPアドレスまたはドメイン]:[転送先のディレクトリ]
$scp -P xxxx test_file.txt user@192.168.xx.xxx:/home/user/これで手元にあるカレントディレクトリにあるtest_file.txtをリモート先のマシン(sshサーバー)のユーザーuserの/home/user/ディレクトリにファイルを転送できます。ログイン不要だし結構楽ちんでいいです。ファイル名もそのままになります。しかし実際の作業はsshでログインして複数の端末を立ち上げてあれこれするというのが本当のところです。またcronなどでの自動転送などに便利です。
test_file.txt 100% 2217 2.2KB/s 00:00
オプション-Pを省略するとポート22を自動的に選択します。
応用編
使い方が山ほどあるのですべてを書くのは割愛。大事なところだけ抜粋してます。殆どがオプションの使い方です。scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] v [[user@]host1:]file1 ... [[user@]host2:]file2
オプション
| オプション | 内容 |
|---|---|
| -l | ユーザー名 ログインするユーザー名を指定する。 |
| -v | デバッグ・モードを有効にする。このオプションは最大三つまで重ねて指定できる。重ねていけば,より詳細な情報が出力される。 |
| -q | 警告メッセージの出力を抑止する。 |
| -1 | SSHプロトコルのバージョン1を利用する。 |
| -2 | SSHプロトコルのバージョン2を利用する。 |
| -4 | リモート・ホストへの接続に,IPv4アドレスを利用する。 |
| -6 | リモート・ホストへの接続に,IPv6アドレスを利用する。 |
| -N | リモート・ホストでコマンドを実行しない。ポート転送を行う際に指定する。 |
| -b | IPアドレス クライアント側で利用するIPアドレスを指定する。 |
| -e | エスケープ文字 エスケープ機能を利用するモードへ遷移するためのエスケープ文字を指定する。デフォルトでは「~」がエスケープ文字として扱われる。SSH接続中に「~?」と入力すると,利用可能なエスケープ機能が表示される。 |
| -o | オプション 設定ファイル(ssh_configファイル)に記述する形式でオプションを指定する。オプションの詳細は,ssh_config(5)を参照。 |
| -P | ポート番号 リモート・ホストへの接続に利用するポート番号を指定する。 |
| -F | 設定ファイル SSH接続に利用する設定ファイルを指定する。 |
| -i | 秘密鍵ファイル RSA/DSA認証に用いる秘密鍵が格納されているファイルを指定する。 |
| -c | 暗号方式 SSH接続にて利用する暗号方式を指定する。SSHバージョン2を用いた接続の場合には,暗号方式をカンマ区切りで指定することで利用優先順位を指定できる。 |
| -m | メッセージ認証コード メッセージ認証コードの利用優先順位を指定する。 |
| -L | ポート番号:ホスト:ホスト側ポート番号 ポート転送機能を利用する。ローカル・ホストの指定した「ポート番号」へのTCP接続を,指定した「ホスト」の指定した「ホスト側ポート番号」へ,接続先ホストとの間で確立したSSHのトンネルを介して転送する。 |
| -V | バージョン情報を表示する。 |
| --help | コマンドの使用方法を表示する。 |



