環境構築からWEBアプリ開発・スマホアプリ開発まで。ときには動画制作やゲームも。

supilog
すぴろぐ

【初心者向け】サーバーを立てたら、まずやること(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の接続を失ってしまうと作業が出来なくなるので、注意してください。

さいごに

設定をミスすると、サーバーにログインすることが出来なくなることもあるので、しっかりと確認を行いながら作業をすることをおすすめします。確認はとても大事!!