AWSでサーバーを立ち上げてから、ssh接続用のユーザを追加する
きっとこれから何度もやるだろうけど、専門にしないかぎり、そう頻繁にやらないので忘れてしまう事はすべてメモする主義になりました。
早速。
ログイン
ssh -i XXX.pem ec2-user@XX.XXX.XXX.XX
ユーザ作成
useradd user passwd user
sudoできるようにする
sudo visudo
して開かれたファイルに下記を追記する。
user ALL=(ALL) ALL
鍵の作成
sudo su - aws cd /home/aws mkdir .ssh cd .ssh ssh-keygen -t rsa mv id_rsa.pub authorized_keys
鍵の権限を変更する
chmod 600 authorized_keys cd ../ chmod 700 .ssh
秘密鍵をコピーする
cat .ssh/id_rsa
上のコマンドを叩いて、選択してコピーして、ローカルの ~/.ssh/id_rsaなどのファイルで保存。
sshの設定
sudo vi /etc/ssh/sshd_config
sshd_configを開いて下記を確認。なければ追加。
AuthorizedKeysFile .ssh/authorized_keys
接続の確認
ssh -i ~/.ssh/id_rsa user@XX.XXX.XXX.XX
ローカルのconfigに設定を保存する
~/.ssh/configを開いて(なければ作る)、下記を追記。
Host XX.XXX.XXX.XX Hostname XX.XXX.XXX.XX User user IdentityFile ~/.ssh/id_rsa
これでIPもしくはhostnameの指定だけでsshできる。
確認。
ssh XX.XXX.XXX.XX
rootでのログインを禁止する
サーバー側で
sudo vim /etc/ssh/ssh_config
#PermitRootLogin yes
↑の記述を下記に変更
#PermitRootLogin no
sshdを再起動
sudo service sshd restart
以上。