scp コマンドでは認証が必要です。使用する認証方式によって、コピー先システム上のアカウントか、コピー先システム上の承認済み公開鍵のいずれかを持つ必要があります。少なくとも、コピー元システム上で読み取り権を持ち、コピー先システム上で書き込み権を持っているべきです。
注意 - コピー先システムにアカウントがない場合や、コピー先システムが公開鍵を許可するように構成されていない場合、認証エラーを受け取ります。例: $ scp mars:/var/tmp/testdir/letter.txt . Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive)ユーザーアカウントまたは公開鍵アクセスが、コピー先システム上で認証用に構成されていることを確認します。Oracle Solaris 11.2 での Secure Shell アクセスの管理 のSecure Shell 認証を参照してください。 |
ソースまたはターゲットのパスがわからない場合は、Secure Shell を使用したリモートシステムへのアクセスで説明されているように、まず ssh コマンドを使用してリモートシステムにログインできます。次に、そのパスが見つかるまでリモートシステム上を移動します。その後は、リモートシステムからログアウトせずに次の手順を実行できます。
$ scp [-r] [[user1@]hostname1:]file1 ... [[user2@]hostname2:]file2
ディレクトリ全体を再帰的にコピーする際に使用します。
リモートホスト上で使用するログインアカウント。
ファイルのコピー元またはコピー先となるリモートホストの名前。
コピーされるファイル名またはディレクトリ名。1 つのコマンド行に複数のソースファイル名を含めることができます。
宛先のファイル名またはディレクトリ名。
この例では、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 コマンドを使用してローカルファイルをリモートシステムにコピーするこの例では、ファイル notice.doc をローカルシステム earth のホームディレクトリ (/home/smith) からリモートシステム pluto の /home/jones ディレクトリにコピーするため、scp が使用されます。
$ 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