さくらのVPS開通後にやったこと - ログイン周りの整理
さくらのVPSを使い始めたので、ログイン周りを整理しました。
- sshでのrootログイン禁止
- 公開鍵認証の有効化
- パスワード認証の無効化
- パスワードなしでsudo
/etc/ssh/sshd_config編集
root@remote # vi /etc/ssh/sshd_config
# sshでのrootログイン禁止 PermitRootLogin no # 公開鍵認証の有効化 PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys # パスワード認証の無効化 PasswordAuthentication no
sshdを再起動します。
root@remote # /etc/init.d/sshd restart
user作成
普段ログインするユーザを作成します。このとき一緒にwheelグループに追加します。
user名は自分の好きなやつにしてください。
root@remote # useradd -G wheel user
パスワードなしのユーザがロックされている場合があるので、そのときはロックを解除します。
ユーザがロックされてるとSSHの鍵を使ったログインのときにPermission deniedが出ます。
root@remote # passwd -u user -f
.ssh/authorized_keys作成
作成したユーザのホームディレクトリに.sshディレクトリを作成し、その中にauthorized_keysを作成します。
root@remote # su user user@remote $ cd /home/user user@remote $ mkdir -m 700 .ssh user@remote $ vi .ssh/authorized_keys
ローカルで作った公開鍵(id_rsa.pub)の中身をコピペします。僕の公開鍵は次のような内容です。
ssh-rsa AAAAB3NzaC1y (中略) 8u8784oXlG8Q== lettas@wild-air.local
authorized_keysのパーミッションを(600)に変更します。
user@remote $ chmod 600 .ssh/authorized_keys user@remote $ exit
パスワードなしでsudoできるようにする
visudoコマンドを使って/etc/sudoersファイルを編集します。
root@remote # visudo
# wheelグループにパスワードなしでsudo許可 %wheel ALL=(ALL) NOPASSWD: ALL
確認
設定は以上で終了ですが、ちゃんと設定出来てるか確認しないと二度とログインできなくなってしまうので注意です。ターミナルをもう一つ立ち上げて作成したユーザでログインできるか確認しましょう。
user@local $ ssh user@host # sudo 出来るか確認 user@remote $ sudo echo 'hoge' # rootになるにはsudo su -を実行する user@remote $ sudo su - root@remote #
rootでログイン出来ないことも確認しておきましょう。
user@local $ ssh root@host Permission denied (publickey,gssapi-with-mic).
このメッセージでいいのかな・・・
まとめ
公開鍵認証を有効化しておくといちいちパスワード入力しなくてすむから楽ですよっていう。sudoもパスワード無しで行けるようにしましたけど、セキュリティ的にどうなのかはわかりません。
手探りで設定していったので、上に書いたことが間違ってたり足りなかったりしたら教えてください。
参考
RSA公開鍵認証の有効化とパスワード認証の無効化 - http://gentoo.reichsarchiv.jp/item/17
sudo による管理者権限の付与 - http://linux.kororo.jp/cont/intro/sudo.php