Help us understand the problem. What is going on with this article?

SCPの使い方(permissionで二度とはまらないために) 

More than 3 years have passed since last update.

SCPとは?

sshを使用してネットワーク越しに、ファイルをコピーするコマンドです。

注意点

scpを使う場合に、コピー先に同名のファイルやディレクトリがあった場合に上書きされてしまうので注意

オプション

-i 秘密鍵ファイル  秘密鍵ファイルを使用する際に使用
-P ポート番号    SSHの接続ポート番号が接続先で変更されている場合に使用
-p           コピー元データの更新時間やパーミッション情報を保持させる
-r                ディレクトリ内のデータを再帰的にコピーする
-C                データを圧縮し、コピーする

scp書式(リモートホストからのローカルへコピー)

scp [オプション] [接続ユーザ]@ホスト名(IPアドレス):コピー元  コピー先

例;scp ec2-user@00.000.00.000: /var/log/nginx/access.log (空白) ./

scp書式(ローカルからリモートへコピー)

scp [ オプション ] コピー元  [接続先ユーザ]@ホスト名(IPアドレス):コピー先

設定ファイル(~/.ssh/config)を使用した方法

scpを利用するときにconfigを設定しておくと、オプションの設定の必要がなくなる

Host [設定名]
Hostname [接続先ホスト名 or IPアドレス]
Port [接続ポート番号](必要があれば)
IdentityFile [秘密鍵](必要があれば)
User [接続ユーザ名] (必要があれば)

Host oda
Hostname ~~~~~~~~~
Port 8080
IdentityFile ~/.ssh/id_ecdsa
User oda

上記の例でいくと

scp oda:/var/log/nginx/access.log  ./

というような感じです。
ちなみに成功すると

access.log-20161021.gz 100% 889KB 888.9KB/s 00:00

のように表示される

はまったところ

[oda]$ scp oda:/var/log/nginx/access.log ./
scp: /var/log/nginx/access.log: Permission denied
Killed by signal 1.

このようなエラーが出てきます。

権限問題です。ここでは権限を変えない解決方法を提示

解決策

ssh  oda (サーバに入る)
sudo -i   (rootに)
cd /var/log/nginx   (ここではnginxのディレクトリまで移動)
cp <提供するログファイル名>  /home/ec2-user   (コピーをして対象のファイルを移動させたいパスを指定)
exit        

ここで行ったことは権限を変えるのではなく
コピーしてファイルを移動させ、権限のないところに移動させることでscpを可能にするということ

scp oda(host):~/<取得するログファイル名>  ./(移動させるパス)

上記のようにオプションなしでhostを指定できるのはconfigに書いている場合だけです

よく出てくるエラーメッセージ

Permission denied

コピーするディレクトリ、ファイルに書き込み権限がない場合に表示
→ファイルの所有者やパーミッションを確認する必要がある

not a regular file

ディレクトリをコピーする際に[-r]オプションを使用しない場合に表示

odacp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした