さくら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