Edited at

さくらVPS+CentOS7 SSHの初期設定を変更

More than 3 years have passed since last update.


さくらVPS + CentOS7 SSHの初期設定を変更


前提

「さくらのVPS」 http://vps.sakura.ad.jp/

メモリ:2G SSD:50G CPU:仮想3コアのプラン

カスタムOSインストール:CentOS7

詳しくはインストール時の記事を参照 http://qiita.com/__fu__/items/39560d8e9317b2559134


さくらVPS+CentOS7でSSHの初期設定を変更する理由

→rootでパスワード認証ができてしまう状態です。

より安全な公開鍵認証に変更しましょう。


設定変更

※リモートコンソールからrootで作業前提とします。


ユーザー設定

ログインユーザー追加

※この例では追加するユーザーをhogeuserで説明しています。

# useradd hogeuser      ※ユーザーhogeuser追加

# passwd hogeuser ※ユーザーhogeuserのパスワード設定
Changing password for user hogeuser.
New password: ※パスワード入力
Retype new password: ※パスワード再確認
passwd: all authentication tokens updated successfully.

hogeuserをwheelグループに加えます

# usermod -G wheel hoge

wheelグループがパスワード無しでsudoを実行できるように修正します。

# visudo

-- viで編集 --
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL ※先頭の#を取ってコメント解除
-------------

suをグループ内のユーザーだけが使えるように設定変更

# vi /etc/pam.d/su

--viで編集--
auth required pam_wheel.so use_uid ※先頭の#を取ってコメント解除
-----------


鍵の作成

hogeuserにユーザー変更した上で作業します。

$ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hogeuser/.ssh/id_rsa): ※ファイル名がそのままで良ければENTER
Enter passphrase (empty for no passphrase): ※パスワード入力
Enter same passphrase again: ※パスワード再入力

秘密鍵(id_rsa)と公開鍵(id_rsa.pub)が作成されます。

authorized_keysファイルを作成しておきます。

$ touch ~/.ssh/authorized_keys 

作成した公開鍵をauthorized_keysに追記します。ついでにパーミッションも変更します。

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

$ chmod 600 ~/.ssh/authorized_keys


SSHの設定変更

SSHの設定変更を行います。

# vi /etc/ssh/sshd_config  

--viで編集--
PermitRootLogin no ※rootでのログイン不許可
PasswordAuthentication no ※パスワード認証不許可
UsePAM no ※PAM不使用
-----------
# systemctl restart sshd ※sshd再起動


接続確認

作成した秘密鍵(id_rsa)をクライアント側に持ってきて追加したユーザーでログインできれば成功です。

併せてパスワード認証でログインできないこと、rootでログインできないことも確認しましょう。


謝辞

以下を参考にさせていただきました。ありがとうございます。

さくらのVPSを借りたら真っ先にやるべきssh設定

http://blog.myfinder.jp/2010/09/vpsssh.html

さくらvpsの設定自分メモ - ssh設定① - for mac

http://tweeeety.hateblo.jp/entry/20140103/1388702277