1. 先によくつまづくポイント
- permission deniedでファイルが送れない
対策
-
$ ls -l 対象のファイル
で対象ディレクトリ or ファイルの権限確認 - 一時的に権限を変える
- 作業終了後、権限をもとに戻す
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)はその他のユーザーの権限レベルを示す。you
とhoge
以外
今回はその他ユーザーからファイルを送りたかったので
$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でサーバーに入って目的のファイルが転送されているか確認。
変更したファイルの権限を戻すのも忘れずに。