SSHでのscpコマンドの使い方

2010.12.05 21:00

基本的な使い方

 専ら普通に使うのでしたら、以下の形式で大丈夫です。
$scp -P [port番号] [転送元のファイル] [転送先サーバーのユーザー名]@[転送先のIPアドレスまたはドメイン]:[転送先のディレクトリ]
$scp -P xxxx test_file.txt user@192.168.xx.xxx:/home/user/
test_file.txt                                   100% 2217     2.2KB/s   00:00    
 これで手元にあるカレントディレクトリにあるtest_file.txtをリモート先のマシン(sshサーバー)のユーザーuserの/home/user/ディレクトリにファイルを転送できます。ログイン不要だし結構楽ちんでいいです。ファイル名もそのままになります。しかし実際の作業はsshでログインして複数の端末を立ち上げてあれこれするというのが本当のところです。またcronなどでの自動転送などに便利です。
 オプション-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    リモート・ホストでコマンドを実行しない。ポート転送を行う際に指定する。
-bIPアドレス    クライアント側で利用する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    コマンドの使用方法を表示する。






プロフィール



  • Name :: 山上オサム ♂(39)
  • Hobby :: 武術
  • Work :: Web Designer