だって自分のPCの中だけでやってるので、だれも使うことないし、常にrootでログインして作業してる有様(笑)
なので、実際の運用を想定して、ログイン認証をちょっとばかり硬くしてみようと思う
root ログインを禁止し、作業用ユーザでログインするように設定
・作業用ユーザを作る# useradd hoge # passwd hoge
・作成したユーザにwheel グループを設定
# usermod -G wheel hoge
・su できるユーザをwheel グループに制限する
vi などで /etc/pam.d/su を編集する
この行のコメントをはずす auth required pam_wheel.so use_uid
#auth sufficient pam_wheel.so trust use_uid
・root でのログインを禁止する
vi などで /etc/ssh/sshd_config を編集する
この行を no にする PermitRootLogin no
sshdを再起動して設定を有効にする(これでrootでログインできなくなります)
# service sshd restart
※これにより、ssh ログイン認証と su コマンドの認証で root になるためには2段階必要になるが、さらに、以下で鍵認証でログインするように設定する
パスワードログインを禁止し、鍵認証でログインするように設定
・鍵を作成する
作業用ユーザに変更
# su - hoge
鍵作成
$ ssh-keygen -t rsa
※鍵の保存場所、パスフレーズを尋ねられます
# su - hoge
鍵作成
$ ssh-keygen -t rsa
※鍵の保存場所、パスフレーズを尋ねられます
~/.ssh/id_rsa (秘密鍵)と ~/.ssh/id_rsa.pub(公開鍵) が作成される
秘密鍵(id_rsa)はクライアントにダウンロードし、サーバから削除しておく
公開鍵(id_rsa.pub)は以下のようにリネームしておく
$ cd .ssh
$ mv id_rsa.pub authorized_keys
$ mv id_rsa.pub authorized_keys
・パスワードでのsshログインを禁止する
※再び root ユーザで作業
vi などで /etc/ssh/sshd_config を編集する
公開鍵認証を有効にする(自分の環境はこの設定が無くてもデフォルトで公開鍵認証が有効である) PubkeyAuthentication yes
パスワード認証を禁止する PasswordAuthentication no
sshdを再起動して設定を有効にする
# service sshd restart
sshクライアントに秘密鍵を設定してログイン確認して終了