さくらVPSで公開鍵認証のログインユーザーの作成

さくらVPSでサーバーをレンタルし、rootユーザーしか存在しない状態から、管理者ユーザーを作成する手順のメモです。

まず、「仮登録完了のお知らせ」メールに含まれるパスワードを利用して、rootユーザーとしてサーバーに接続します。

ログイン後、まず目的のユーザー(ここではnewuserとします)を作成します。

$ useradd newuser

公開鍵の登録

newuserのホームディレクトリに.sshディレクトリを作成し、パーミッションを700に設定します。

$ mkdir /home/newuser/.ssh
$ chmod 700 /home/newuser/.ssh

.sshディレクトリ以下にauthorized_keysというファイルを作成し、パーミッションを600に設定します。

$ cd /home/newuser/.ssh
$ touch authorized_keys
$ chmod 600 authorized_keys

authorized_keysファイルの中に、接続元ユーザーの公開鍵を登録します。

$ vim authorized_keys
ssh-rsa ...

.sshディレクトリとauthorized_keysファイルの所有者をnewuserに変更します。

$ chown newuser:newuser -R .

これで、接続元ユーザーはnewuserとしてこのサーバーにアクセスすることができるようになりました。

sudoコマンドを利用できるようにする

次に、newuserは管理者ユーザーなのでroot権限でコマンドを実行できるようにしたいと思います。visudoコマンドを利用することでこの設定ができます。

$ visudo

コマンドを実行すると、エディタが開き、sudoに関する設定ファイルを編集することができます。下にスクロールしていくと

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL

という箇所があると思うので、ここにnewuserを追記すればよいです。ただ、新しい管理者が入った場合に、毎回このファイルを修正するのは大変なので、個人ではなくwheelというグループにsudoコマンドの権限を与えて、newuserをwheelグループに登録する方向でいきます。既に以下のような記述があると思うので、先頭の#を削除してwheelグループのsudo権限を有効にさせます。「:wq」で変更内容を保存し、エディタを終了させます。

## Allows people in group wheel to run all commands
# %wheel        ALL=(ALL)       ALL

newuserをwheelグループに登録するには、gpasswdコマンドを使います。

$ gpasswd -a newuser wheel
Adding user newuser to group wheel

これでnewuserは再ログイン後にsudoコマンドを利用できるようになりました。

rootによるログインの禁止

以上で、管理者newuserによるログインおよびsudoコマンドの実行が可能になりましたが、rootによるログインも有効のままです。これは、セキュリティ的によろしくないので、rootによるログインを禁止し、また接続の際に公開鍵認証を義務付けたいと思います。この設定を行うには/etc/ssh/sshd_configを編集します。

$ vim /etc/ssh/sshd_config

「PermitRootLogin」、「PermitRootLogin」および「PasswordAuthentication」の設定を「no」にします。

PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication no

設定を有効にするために、sshサービスを再起動します。

$ service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]

コメントを残す

Required fields are marked *.


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Top