さくらのクラウドでSSH周りの設定を行う

さくらのクラウドにサーバーを追加する」で作成したサーバーにSSHの設定をしていきます。

設定内容は
・指定されたユーザーのみrootに昇格できる
・rootで直接ログインは不可
・ログインには公開鍵認証が必要
です。

それぞれ設定していきましょう。

さくらのクラウドなら手順を間違えたり、途中でコンソールを落としても大丈夫ですが、他クラウドや物理サーバーで手順を間違えると、二度とそのサーバーにログインできなくなる可能性があります。
さくらのクラウド以外の方はご注意ください。

指定されたユーザーのみrootに昇格できる

まず「指定されたユーザー」を追加しなくてはなりません。
今回は「sato」というユーザーを追加し、rootに昇格できるようにしてみます。

satoを追加
$ useradd sato

satoのパスワードを設定、入力したパスワードは表示されませんが、同じものを二度打って下さい
$ passwd sato

New password:
Retype new password:
passwd: all authentication tokens updated successfully.

satoを管理者グループに設定
$ usermod -G wheel sato

rootに昇格できるのは管理者グループのみとする
$ vi /etc/pam.d/su
コメントアウトを外す
#auth    required    pam_wheel.so use_uid
↓
auth     required    pam_wheel.so use_uid

これで、管理者グループに所属しているユーザーのみ、rootに昇格できるようになりました。
ターミナルをもう1つ開いて、satoでログインしrootに昇格できるか試してみましょう。

rootで直接ログインは不可

$ vi /etc/ssh/sshd_config

コメントアウトを外し、内容を変更します。
#PermitRootLogin yes
↓
PermitRootLogin no

保存したらsshdの再起動
systemctl restart sshd.service

これでrootで直接ログインできなくなりました。
ターミナルをもう1つ開いて、rootでログインを試してみましょう。

ログインには公開鍵認証が必要

ユーザー名とパスワードだけだと、総当りで突破されてしまう可能性があります。
セキュリティレベルを上げるために、特定の文字がかかれた「鍵」というファイルを持っているユーザーのみログインできるように設定しましょう。

公開鍵、秘密鍵を作成する
satoユーザーで作業します。
$ cd
$ ssh-keygen -t rsa
パスワード等入力求められるので、手順に従って作業していきましょう。

ここに鍵のペアが出来ます。
公開鍵:/home/sato/.ssh/id_rsa.pub
秘密鍵:/home/sato/.ssh/id_rsa
秘密鍵は今後自分のパソコンで使いますので、手元に転送しておきましょう。

公開鍵を作成しただけじゃ使えませんので、もう少し設定を入れていきます。

authorized_keysへ追加
cat /home/sato/.ssh/id_rsa.pub >> /home/sato/.ssh/authorized_keys

パーミッションを0600に変更
chmod 0600 /home/sato/.ssh/authorized_keys

ここまで設定できれば、公開鍵を使ったログインができるようになっています。
先程入力したパスフレーズと鍵を使って、ログインしてみましょう。

次に通常のパスワード認証でログインできないようにします。

$ vi /etc/ssh/sshd_config

PasswordAuthentication yes
↓
PasswordAuthentication no

保存したらsshdの再起動
systemctl restart sshd.service

通常のパスワード認証でログインを試してみましょう。
ログインできなくなっていれば成功です!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です