概要
capistrano
でデプロイを行う際に、下記のエラーが発生しました。その対処方法について記載します。
エラー文
-
capistrano
のエラー内容
bundle exec cap デプロイ先の環境を指定 deploy
# 入力例
# Rails環境のconfig/deploy内にあるファイル名を記載する
bundle exec cap test deploy
# 出力例
Permission denied (publickey).関連のエラーが表示される
-
ssh-add
のエラー内容
# 入力コマンド
ssh-add **************.pem
# 出力結果
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0744 for '**************.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
ssh-add
コマンドの概要
-
ssh-add
は、SSH
認証エージェントに秘密鍵を追加する為のコマンド - このコマンドを使用する事で、
SSH
接続を行う際、毎回パスフレーズを省略できる
手順
-
pemキー
または秘密鍵
の保存されているディレクトリに移動する。(多くの人が、.ssh
ディレクトリーに格納していると思われる)
cd ~/.ssh
- ファイルのパーミッション(権限)を修正する
chmod 600 **************.pem
# 6(所有者の権限): 読み取り(4)、書き込み(2)の権限が付与される
# 0(グループの権限): なし権限
# 0(その他のユーザーの権限): 権限なし
-
ssh-add
の後に、pemキー
または秘密鍵
を入力し、実行する
ssh-add **************.pem
-
ssh-add -l
を実行し、下記の出力結果が表示されたら、正常にssh-add
ができている
# 入力コマンド
ssh-add -l
# 出力結果
2**8 SHA***:s******************************************c**************.pem (RSA)
-
capistrano
でのデプロイ、AWS
への接続、Github
への接続等ができるようになる。
補足
ssh-add
は、PCを再起動等すると消える可能性がある。もし、ssh-add -l
を実行して何も表示されない場合は、今回説明した手順を行う。そうする事で、ローカル環境からAWS
やGit hub
等に、パスフレーズ無しでssh
接続が可能となる