読者です 読者をやめる 読者になる 読者になる

アナログ金木犀

つれづれなるまままにつれづれする

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

以上。