JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 でのリモートシステムの管理     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  リモートシステムの利用 (概要)

2.  FTP サーバーの管理 (タスク)

3.  リモートシステムへのアクセス (タスク)

リモートシステムへのアクセス (タスクマップ)

リモートシステムへのログイン (ssh)

リモートログインの認証 (ssh)

/etc/ssh_known_hosts および .ssh/known_hosts ファイル

Secure Shell を使用したログイン後の動作

リモートシステムにログインする方法 ( ssh)

リモートシステムからのログアウト (exit または logout)

ファイルをコピーするためのリモートシステムへのログイン (sftp)

重要な sftp コマンド

リモートシステムへの sftp 接続をオープンおよびクローズする方法

リモートシステムからファイルをコピーする方法 (sftp)

ファイルをリモートシステムにコピーする方法 (sftp)

scp コマンドによるリモートコピー

コピー操作のセキュリティー上の注意事項

コピー操作のソースおよびターゲットの指定

ファイルを 2 つのシステム間でコピーする方法 (scp)

索引

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

scp コマンドによるリモートコピー

scp コマンドは、ローカルシステムとリモートシステム間、または 2 台のリモートシステム間でファイルやディレクトリをコピーします。このコマンドは、リモートシステムから (ssh コマンドでログイン後に)、またはローカルシステムから使用できます。scp コマンドはデータ転送に ssh を使用します。したがって、scp コマンドでは同じ認証が使用され、ssh コマンドと同じセキュリティーが提供されます。

scp を使用すると、次のリモートコピー操作を実行できます。

コピー操作のセキュリティー上の注意事項

システム間でファイルやディレクトリをコピーするには、ログインしてファイルをコピーする許可を持っていなければなりません。

ssh コマンドのコンポーネントである scp コマンドでは、ユーザーがコピー先システムのユーザーアカウントまたはホスト鍵アクセスのいずれかを持っていることが必要です。詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の第 15 章「Secure Shell の使用」を調べてください。


注意

注意 - cp コマンドと scp コマンドは両方とも、警告を出さずにファイルが上書きされることがあります。コマンドを実行する前に、ファイル名が正しいかどうかを確認してください。


コピー操作のソースおよびターゲットの指定

scp コマンドでは、ソース (コピー元のファイルまたはディレクトリ) およびターゲット (ファイルまたはディレクトリのコピー先の場所) を指定できます。チルド文字 (~) およびシェルワイルドカード文字 (*、? など) を使用するとパス文字列を短縮できます。

チルド文字 (~) はすべてのシェルプログラムによって展開され、現在のユーザーのホームディレクトリになります。現在のユーザーは、シェルを実行中のユーザーです。ユーザー jack のホームディレクトリが /export/home/jack の場合、ユーザー jack については、~/myfile.txt/export/home/jack/myfile.txt と展開されます。

この展開は、リモートパスについても機能します。ユーザー jack が自分のホームディレクトリからファイルをコピーする場合、これらの 3 つのパス記述は同等です。

この展開は、別のユーザーのリモートホームディレクトリを参照する際にも便利です。この場合、ユーザー名をチルド文字の後に含めます。ユーザー jack にとって、mars:~jill/myfile.txtmars:/export/home/jill/myfile.txt と同じですが、入力が短くなります。

ファイルを 2 つのシステム間でコピーする方法 (scp)

  1. コピー先システム上でファイルをコピーするためのアクセス権を持っていることを確認します。

    scp コマンドでは認証が必要です。使用する認証方式によって、コピー先システム上のアカウントか、コピー先システム上の承認済み公開鍵のいずれかを持つ必要があります。少なくとも、コピー元システム上で読み取り権を持ち、コピー先システム上で書き込み権を持っているべきです。


    注意

    注意 - コピー先システムにアカウントがない場合や、コピー先システムが公開鍵を許可するように構成されていない場合、認証エラーを受け取ります。例:

    $ scp mars:/var/tmp/testdir/letter.txt .
    Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive)

    ユーザーアカウントまたは公開鍵アクセスが、コピー先システム上で認証用に構成されていることを確認します。『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「Secure Shell 認証」を参照してください。


  2. コピー元とコピー先の場所を決定します。

    コピー元またはコピー先のパスがわからない場合は、「リモートシステムへのログイン (ssh)で説明されているように、まず ssh コマンドを使用してリモートシステムにログインできます。次に、そのパスが見つかるまでリモートシステム上を移動します。その後は、リモートシステムからログアウトせずに次の手順を実行できます。

  3. ファイルまたはディレクトリをコピーします。
    $ scp [-r] [[user1@]hostname1:]file1 ... [[user2@]hostname2:]file2
    -r

    ディレクトリ全体を再帰的にコピーする際に使用します。

    user1, user2

    リモートホスト上で使用するログインアカウント。

    hostname1, hostname2

    ファイルのコピー元またはコピー先となるリモートホストの名前。

    file1

    コピーされるファイル名またはディレクトリ名。1 つのコマンド行に複数のソースファイル名を含めることができます。

    file2

    宛先のファイル名またはディレクトリ名。

例 3-5 scp コマンドを使用してリモートファイルをローカルシステムにコピーする

この例では、scp を使用して、リモートシステム pluto/home/jones ディレクトリからローカルシステムの作業用ディレクトリにファイル letter.doc をコピーします。

$ scp pluto:/home/jones/letter.doc .
The authenticity of host 'pluto (192.168.56.102)' can't be established.
RSA key fingerprint is b4:88:7b:cf:f5:23:d3:ad:0b:14:22:31:74:7b:6c:74.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.56.102' (RSA) to the list of known hosts.
Password:
letter.txt           100% |*****************************|    23       00:00   
$ 

この例では、システム pluto にはじめてアクセスするため、RSA 鍵フィンガープリントメッセージが示されます。

ここで、コマンド行の末尾にある「.」記号は、ローカルシステム上の現在の作業用ディレクトリを参照します。

例 3-6 scp コマンドを使用してローカルファイルをリモートシステムにコピーする

次の例で、scp はファイル notice.doc をローカルシステム earth のホームディレクトリ (/home/smith) からリモートシステム pluto/home/jones ディレクトリにコピーします。

$ scp notice.doc pluto:/home/jones
Password:
notice.doc           100% |*****************************|     0       00:00    

リモートファイル名が指定されていないので、ファイル notice.doc/home/jones ディレクトリに同じ名前でコピーされます。

次の例では、前の例の scp 操作が繰り返されますが、scp はローカルシステム上の別の作業用ディレクトリから実行されます (/tmp)。現在のユーザーのホームディレクトリを指すために「~」記号が使われているので注意してください。

$ scp ~/notice.doc pluto:/home/jones
Password:
notice.doc            100% |*****************************|     0       00:00