【初心者向け】サーバーを立てたら、まずやること(1)-公開鍵認証【CentOS7】
クラウドやVPSサービスにて、インスタンスを立ち上げた後、最初のログインは、rootユーザーやcentosユーザーでログインすることが多いです。運用していく中では、スーパーユーザーで直接ログインするという事はしない方が良いので、個人ユーザーを作成します。また、多くのサービスで、初回はパスワードによってログインしますが、こちらもセキュリティの為、公開鍵によるログインに変更します。単純にパスワードを毎回うつ必要がなくなるというメリットもありますね。
公開鍵認証の設定
個人ユーザー作成
今回は2021.03.26MonsterHunterRIZE発売を記念して「rize」というユーザーを作成してみます。(ぇ
useradd rize
公開鍵認証
接続元であるローカルPCにて、秘密鍵(id_rsa)&公開鍵(id_rsa.pub)を作成しておく必要があります。ここでは省略しますので、不明な方は、検索してみてください。
# 公開鍵をセットする
mkdir -p /home/rize/.ssh/
vi /home/rize/.ssh/authorized_keys
------------------
(あなたがお持ちの公開鍵の内容を貼り付ける)
------------------
# 権限変更
chmod 600 /home/rize/.ssh/authorized_keys
chmod 700 /home/rize/.ssh/
# rootユーザーで作業していたので、所有者変更
chown -R rize:rize /home/rize/.ssh
ここまで実施すると、公開鍵によるSSHログインが出来るようになると思います。試してみてください。
root権限の付与
rootでログインしなくなりましたが、root権限で作業を行う必要は必ずあるので、権限を付与します。今回はwheelグループにユーザーを追加して、wheelグループユーザーはパスワードなしで、全てのコマンドを実施出来るようにします。(このあたりのセキュリティについては各環境で吟味してください)
gpasswd -a supi wheel
vi /etc/sudoers
------------------------------
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
------------------------------
↓ コメントを外す
------------------------------
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
------------------------------
権限の確認
ここまでの設定が間違っていると、ログインできなくなったり、root権限が使えなくなったりしてしまいます。必ず、現在サーバーにrootでログインしている状態はそのままにして、新たに接続確認を行ってください。
ssh IPアドレス
デフォルトでない秘密鍵を使う場合には、「-i」オプションで鍵を指定してあげてください。
sudo su -
うまく行かない場合には、上記手順に間違いがないか確認します。rootの接続を失ってしまうと作業が出来なくなるので、注意してください。
さいごに
設定をミスすると、サーバーにログインすることが出来なくなることもあるので、しっかりと確認を行いながら作業をすることをおすすめします。確認はとても大事!!