DebianでSSHのポート変更、公開鍵認証設定、rootログイン制限を行う
Publish date: 2019-09-08
DebianでSSHのポート変更、公開鍵認証、rootログイン制限を行う手順です。
SSHセキュリティ設定(Debian)
念の為、sshで接続したセッションを常に残した状態で作業を行いました。
ポートの変更
SSHの設定ファイルを待避し、編集を行う。
cp /etc/ssh/sshd_config /etc/ssh/sshd_config_org
vi /etc/ssh/sshd_config
Portの番号を22から変更する。
#Port 22
Port 2222
sshdを再起動する。
systemctl restart sshd
ログインを別ポートで行えるか、ここで確認する。
公開鍵認証の設定
あらかじめ、認証用のキーを用意しておく。
公開鍵認証を行うためのroot以外のユーザーを作成する。
$ adduser username
Adding user `username' ...
Adding new group `username' (1000) ...
Adding new user `username' (1000) with group `username' ...
Creating home directory `/home/username' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for username
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
sudoができるユーザーとして登録を行う。
cp /etc/sudoers /etc/sudoers_org
vi /etc/sudoers
内容としては、usernameに対象のユーザー名を入れて、以下の内容を追記する。
username ALL=(ALL:ALL) ALL
作成したユーザーについて認証キーの設定を行う。
su username
cd
mkdir .ssh
cd .ssh
vi authorized_keys
chmod 700 authorized_keys
ホームでディレクトリに、.sshのディレクトリを作成し、中にauthorized_keysを作成する。
authorized_keysには、公開鍵(id_rsa.pub等)の内容を記載する。
ここまでで、追加したユーザー・公開鍵でSSH認証を行える事を確認する。
パスワード認証とrootによるログインを制限する
SSHの設定ファイルを編集する。
vi /etc/ssh/sshd_config
パスワード認証は不可、ルートログインも不可とする。
#PasswordAuthentication yes
PasswordAuthentication no
#PermitRootLogin yes
PermitRootLogin no
sshdのサービスを再起動する。
systemctl restart sshd
追加したユーザーでのログイン、rootユーザーでのログイン等た試して正常に動作している事を確認する。