LoginSignup
7
5

More than 5 years have passed since last update.

scpコマンドでpermission deniedさせずにローカルからファイルをAWSへ転送する

Posted at

1. 先によくつまづくポイント

  • permission deniedでファイルが送れない

対策

  1. $ ls -l 対象のファイル で対象ディレクトリ or ファイルの権限確認
  2. 一時的に権限を変える
  3. 作業終了後、権限をもとに戻す

Ex)

hogehoge.rb
drwxr-xr-x you hoge 9999 May 24 08:00 foo(対象ディレクトリ等)

一番左はディレクトリ = dリンクファイル = l通常ファイル = -のどれかを表す
左から2番目から4番目(rwx)は所有者の権限レベルを示す。この場合はyou
左から5番目から8番目(r-x)はグループの権限レベルを示す。この場合はhoge
左から番目から4番目(r-x)はその他のユーザーの権限レベルを示す。youhoge以外

今回はその他ユーザーからファイルを送りたかったので
$chmod 757 foo
ls -l fooで権限確認

hogehoge.rb
drwxr-xrwx you hoge 9999 May 24 08:00 foo(対象ディレクトリ等)

と表示されたら成功


2. scpコマンドでAWSへローカルにあるファイルを送る

scp -i 鍵名.pem ローカルにあるファイルのパス 接続user@AWSのパブリックDNS : 転送先のパス
ディレクトリを送りたい場合は-r ローカルにあるディレクトリパスとオプションを付け加えてあげればOK

うまくいかない場合、パス指定が間違ってないか、権限を再確認するなどの確認をしてみてください。

あとはsshでサーバーに入って目的のファイルが転送されているか確認。
変更したファイルの権限を戻すのも忘れずに。

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5