CentOS 8で利用できるSSHプロトコルはデフォルトのポート22番を利用し接続元の端末から遠隔で操作することができますが、このポート番号は一般的に広く知られているためSSHのポート番号(今回は22→10222に設定)を変更し不正なログインからセキュリティを向上するための手順です。本記事ではサーバー側の設定:ポート番号の開放・SELinux無効化・sshd_configファイル変更方法、サーバー側設定変更後のクライアントOS、Windows 10からターミナルエミュレーターTera Term(テラターム)を利用しCentOS version8にSSH接続する一連の手順を解説します。
1.変更するSSHポート番号の開放
実行コマンド
firewall-cmd --add-port=[ポート番号]/tcp --zone=public
実行コマンド
firewall-cmd --add-port=[ポート番号]/tcp --zone=public --permanent
実行コマンド
firewall-cmd --list-all
CentOS 8のファイアーウォールの状態を表示しポートが開放されたことを確認します。
実行コマンド
firewall-cmd --reload
設定を有効化するためリロードを行います。
2.SELinuxを永続的に無効にする
実行コマンド
vi /etc/selinux/config
再起動後もSELinuxの状態を保持するため、/etc/selinux/configを編集します。
以下のパラメータを変更します。
変更前:enforcing
変更後:disabled
実行コマンド
reboot
変更した設定は再起動しなければ反映されません。端末を再起動します。
実行コマンド
getenforce
再起動後、SElinuxの設定値が変わらないことを確認します。
3.sshd設定ファイル変更
実行コマンド
vi /etc/ssh/sshd_config
SSHのデフォルトポート番号を変更します。
以下のパラメータを変更します。
変更前:#Port 22
変更後:Port [変更後のSSHポート番号]
/etc/ssh/sshd_config変更前
/etc/ssh/sshd_config変更後
実行コマンド
systemctl restart sshd
sshd_configに変更した場合、sshdサービスの再起動が必要になるためsystemctlコマンドでサービス再起動します。
4.クライアント端末(Windows10)からCentOS8への接続
手順:1
あらかじめWindows10端末にインストールしたTera Term(テラターム)を起動します。
※Tera Termダウンロードサイト:https://forest.watch.impress.co.jp/library/software/utf8teraterm/
手順:2
以下、接続情報を入力します。
ホスト:CentOS8のIPアドレス
TCPポート:10222
サービス:SSH
手順:3
「known hostsリストにサーバ”xxx.xxx.xxx.xxx”のエントリはありません。」と表示されますが、known hostsに記載がない・ホスト鍵を受け取っていないサーバに接続しようとしている場合に表示されます。
手順:4
ユーザ名・パスフレーズを入力 -> 「OK」を選択します。
手順:5
CentOS8にSSH接続完了です。