ユーザー作成
まず新規ユーザhogehogeを作成して、sudo権限を与えます。
# useradd -G wheel hogehoge
ユーザhogehogeのパスワードを設定します。
コマンドを入力するとパスワード設定のための対話が始まります。
# passwd hogehoge
rootログインの禁止
hogehogeユーザでssh鍵認証ログインができるようにして、rootでのログインができないようにしていきます。
hogehogeユーザでの鍵認証ログイン設定用のディレクトリを作成します。
# mkdir /home/hogehoge/.ssh
ディレクトリへのアクセス権を適切に設定します。
# chmod 700 /home/hogehoge/.ssh/
鍵認証ログイン設定ファイルを編集します。
次のコマンドを入力してviエディタで設定ファイルを開きます。
# vi /etc/ssh/sshd_config
ファイルの中から次の項目を探して、それぞれを編集していきます。
PubkeyAuthentication yes # 45行目:#を外す PasswordAuthentication yes # 65行目:#を外す GSSAPIAuthentication yes # 79行目:#を外してyesに書き換える GSSAPICleanupCredentials yes # 80行目:#を外す UsePAN yes # 96行目:#を外してyesに書き換える PermitRootLogin no #131行目:noに書き換える
設定を書き換えたら保存してsshdを再起動します。
# systemctl restart sshd.service
今のターミナルはそのままで、別ウィンドウのターミナルを立ち上げます。
別ウィンドウで立ち上げたターミナルでは、当然まだssh接続されていないはずです。
そこで、このターミナルでssh接続確認を行います。
※別ウィンドウで立ち上げず、ssh接続を一旦切って再接続を試みても良いですが、設定に誤りがあった場合に二度とssh接続できなくなるので注意が必要です。
$ ssh -i ~/.ssh/client_rsa root@192.168.1.128
$ ssh -i ~/.ssh/client_rsa hogehoge@192.168.1.128
上段のコマンドでログインできず、下段のコマンドでログインできれば設定完了です。
ログインに成功したら、確認用に開いたターミナルはexitを実行して接続を切っておきます。
ssh接続ポートの変更
デフォルトではssh接続用のポートは22になっていますが、このポートは当然開いているものだと知れ渡っているため不正アクセスしようとする輩が集まりやすくなっています。
そこで、22番ポートは閉鎖してしまい、代わりに別のポートを開放する処置を行っておきます。
代わりのポートは1024~65535番が推奨されている様ですが、仮に20000だとして話を進めていきます。
20000以外を選んだ場合は、今後の20000の部分を選んだ番号に読み替えるとともに、パケットフィルタのカスタムポートの番号もその番号に変更しておいてください。
ポート番号の使用状況を確認するためにlsofをインストールします。
$ sudo dnf install -y lsof
選んだポート番号が使用可能かどうかを確認します。
何も表示されなければ使用可能です。
もし使用中だった場合は別のポート番号を探してください。
$ sudo lsof -i:20000
使用可能のポートが見つかったら、設定ファイルを書き換えて保存します。
$ sudo vi /etc/ssh/sshd_config Post 20000 #21行目:#を外してポート番号を書き換える
firewallコマンドでポート20000を開放します。
$ firewall-cmd --add-port=475/tcp --premanent $ firewall-cmd --reload
また別ウィンドウのターミナルで接続確認を行います。
# ssh -i ~/.ssh/client_rsa hogehoge@192.168.1.128
# ssh -i ~/.ssh/client_rsa hogehoge@192.168.1.128 -p 20000
上段のコマンドでログインできず、下段のコマンドでログインできれば設定完了です。
コメント