【VPSサーバー管理】サーバーユーザーの管理、追加、鍵認証の設定 HowTo

vps howtoVPS
この記事は約6分で読めます。

はじめに

サーバーを管理する際、サーバーユーザーをいくつか作成して複数人で管理することがあるかと思います。今回は、そのための基本的なサーバーユーザ管理の方法について整理していきます。

具体的には、以下の3点について順番に説明していきます。

・現状のサーバーユーザーを把握する
・ユーザーを新規に追加する
・追加したユーザーが鍵認証でサーバーにログインできるようにする

それでは、早速見ていきましょう。

現状のサーバーユーザーを把握する

サーバーのユーザー管理をするにあたって、現状を把握した上で操作を行うことが大事です。まずは、そんな場面で最低限必要となるコマンドを紹介していきます。

存在する全てのユーザーグループをリストするコマンド

groups

or

cut -d: -f1 /etc/group

存在する全てのユーザーをリストするコマンド

gatent passwd

or

cut -d: -f1 /etc/passwd

特定のユーザー(username)が所属するグループを確認するコマンド

groups [username]

特定のユーザー(username)が所属するグループの他のユーザーを確認するコマンド

id [username]

ユーザーを新規に追加する

ここからは、実際に新しくサーバーユーザーを追加していく方法を紹介していきます。

ここでは、managerというユーザーを追加しいていく場合の例で見ていきます。

まずは、サーバーのコンソールにアクセスして下さい。

ユーザーを追加する

以下のコマンドによりユーザー新規に追加することができます。managerというユーザー名は、必要に応じて任意で変えてください。

useradd manager

このとき、ユーザーを追加したら一時的に、mangerのパスワードを設定しておきましょう。

passwd manager

また、もし、何らかのユーザーグループに、新規に追加したユーザーを所属させたい場合は次のコマンドを実行します。

usermod -aG [groupname] [username]

[オプショナル]ユーザーにsudo権限を付与する

もし、このアカウントにsudo権限を与えておきたいという場合には、以下の方法でできます。(※なるべく最低限のユーザーにのみsudo権限を付与するようにしましょう)

まずは、以下のファイルを開きます。

sudo vim /etc/sudoers/

ファイルが開けたら、次の一行を追加しておきます。

root ALL=(ALL:ALL) ALL # <- 元々ある
[username] ALL=(ALL:ALL) ALL # <- 一行追加

追加し終わったら:wqコマンドでvimを閉じ、以下のコマンドで設定を反映します。

sudo service sshd restart

以上です。

追加したユーザーが鍵認証でサーバーにログインできるようにする

新しく追加したユーザーが、サーバーにアクセスするためには、現状パスワードを使ってログインしなければいけません。パスワードでのサーバーログインはセキュリティ上好ましくないので、鍵認証でサーバーにログインできるようにしていきます。

まずは、サーバー上のコンソールでrootユーザーになります。

sudo -i

rootユーザーになるためのパスワードを聞かれるので、正しく入力します。

rootユーザーになれたら、鍵認証に使う鍵を置いておく場所を用意します。

mkdir /home/[username]/.ssh

そしたら、この場所の権限などを変更しておきましょう。

chmod 600 /home/[username]/.ssh

さらに、この場所の所有権の設定を先ほど新しく作ったユーザーに割り当てておきます。

chown [username] /home/[username]/.ssh
chgrp [username] /home/[username]/.ssh

ここまでできたら、一度サーバーのコンソールから離れて、サーバーにリモートログインするパソコン上で作業を進めていきます。

はじめに、認証鍵を作っていきます。

以下のコマンドで鍵を作成する場所を用意します。ホームディレクトリの下に.sshというディレクトリを用意し、そこで鍵を作成します。

cd ~/
mkdir .ssh
chmod 700 .ssh
cd .ssh

次のコマンドで鍵を生成します。

ssh-keygen -t rsa -v

コマンドを実行すると3回入力を求められますが、とりあえずは無視してEnterを押して進みます。そうすると、.sshの下にid_rsa.pubとid_rsaという2つのファイルが出来上がります。

ここで、id_rsa.pubは権限を600に変更しておきます。

chmod 600 ~/.ssh/id_rsa.pub

ここまできたら鍵の用意はできたので、公開鍵の方だけをサーバーの方にアップロードして配置しておきます。
このとき、先ほど用意したサーバー上の/home/[username]/.sshにscpをつかってファイルアップロードします。[port]:ポート番号、[hostip]:サーバーのIPアドレス、[username]:今回の例ではmanager、を任意に設定してください。

scp -P [port] ~/.ssh/id_rsa.pub [username]@[hostip]:/home/[username]/.ssh/id_rsa_keys

これで、ひとまずは認証鍵の設定は完了です。手元のパソコンからサーバーに以下のコマンドでアクセスしてみましょう。

ssh -p [port] -i ~/.ssh/id_rsa.pub  [username]@[ip]

無事サーバーにアクセスできたらOKです。

と言いたいところですが、最後に1点セキュリティのために設定をしておきましょう。具体的には、認証鍵でサーバーにアクセスできることを確認したら(認証鍵は無くさないように大事に保管してください)、今後はパスワードでログインする必要はありません。

また、サーバーをセキュアに保つためにはパスワードログインはできないようにするべきです。したがって、そのための設定をしていきましょう。

再度、サーバーのコンソールに入って、次のファイルを開きます。

sudo vim /etc/ssh/sshd_config

そして、次の2行を修正します。

ChallengeResponseAuthentication no
PasswordAuthentication no

修正したら:wqでvimを閉じて、最後に次のコマンドで設定を反映しましょう。

sudo service sshd restart

これで、パスワードでのログインはできなくなりました。

最後に以下のコマンドでちゃんとサーバーにアクセスできていれば完了です。

ssh -p [port] -i [path/to/key] [username]@[ip]

オススメのプログラミングスクール紹介

【TechAcademy】自宅で学べる!プログラミングスクール

まずは無料体験からでも始められます

★ここがポイント!

 自宅にいながらオンラインで勉強できる
◎ パーソナルメンターがついて指導!

◎ チャットで質問もOK
◎ あなたのオリジナルサービスの開発をサポート!

VPSコマンド/スニペットプログラミング
あれは魔法だろうか?
タイトルとURLをコピーしました