EC2に対してcapistranoでデプロイするためにはSSH接続できるユーザーが必要になる。
今回はdeployユーザーを作成する。
##ユーザー作成
既存ユーザー(ec2-user)EC2に接続する。
ssh -i /home/vagrant/.ssh/XXX.pem ec2-user@XX.XXX.XXX.XXX
ユーザーを作成する。
useradd deploy
passwd deploy
sudoができるように/etc/sudoersファイルを変更する。
(sudo vi /etc/sudoersだと読み取り専用になってしまうので次のコマンドでファイルを開く)
sudo visudo
ファイルに1行追加する。
rootに同じ設定があるので、そのすぐ下に追加するといい。
deploy ALL=(ALL) ALL
##鍵の作成
作ったユーザーに変更して鍵を作成する。
sudo su - deploy
cd /home/deploy
mkdir .ssh
cd .ssh
ssh-keygen -t rsa
mv id_rsa.pub authorized_keys
※ファイル名を書き換えるのはAMILinuxのSSHの初期設定がauthorized_keysとなっているため。
権限を変更する。
chmod 600 authorized_keys
cd ../
chmod 700 .ssh
※権限が適切でないと後にSSH接続できなくなる。
ローカルに秘密鍵をコピーする。
catで中身を確認してそれをローカルに保存しておく。
cat id_rsa
※後でssh接続に必要なのでホームの.sshなどに入れておくといい。
##SSHの設定
設定ファイル/etc/ssh/sshd_configを確認する。
vi /etc/ssh/sshd_config
```次の記述があることを確認する。
なければ追加する。```/etc/ssh/sshd_configAuthorizedKeysFile .ssh/authorized_keys
※AMILinuxは初期状態でこれが記述されている。
##接続の確認
接続できれば無事終了。
ssh -i /home/vagrant/.ssh/id_rsa deploy@XX.XXX.XXX.XXX