【図解】Red Hat Enterprise Linux 8のSSHデフォルトポート番号を変更しSSH接続する手順を解説

Red Hat Enterprise Linux

RHEL8で利用できるSSHプロトコルはデフォルトのポート22番を利用し接続元の端末から遠隔で操作することができますが、このポート番号は一般的に広く知られているためSSHのポート番号(今回は22→10022に設定)を変更し不正なログインからセキュリティを向上するための手順です。本記事ではサーバー側の設定:ポート番号の開放・SELinux無効化・sshd_configファイル変更方法、サーバー側設定変更後のクライアントOS、Windows 10からターミナルエミュレーターTera Term(テラターム)を利用しRHEL version8にSSH接続する一連の手順を解説します。

1.変更するSSHポート番号の開放

実行コマンド

firewall-cmd --add-port=[ポート番号]/tcp --zone=public
一時的にポートを解放することができます。再起動後は設定したポートが閉鎖します。

実行コマンド

firewall-cmd --add-port=[ポート番号]/tcp --zone=public --permanent
恒久的にポートを解放することができます。再起動後も設定したポートが開放されます。

実行コマンド

firewall-cmd --list-all

Red Hat Enterprise Linux 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のデフォルトポート番号を変更します。

同じ階層のディレクトリ(/etc/ssh/)にssh_configという名前のファイルがありますが、SSHクライアント用(他のサーバにsshで接続するためのファイル)のため間違えないよう気を付けましょう。

以下のパラメータを変更します。
変更前:#Port 22
変更後:Port [変更後のSSHポート番号]

/etc/ssh/sshd_config変更前

/etc/ssh/sshd_config変更後

実行コマンド

systemctl restart sshd

sshd_configに変更した場合、sshdサービスの再起動が必要になるためsystemctlコマンドでサービス再起動します。

4.クライアント端末(Windows10)からRed Hat Enterprise Linux8への接続

手順:1
あらかじめWindows10端末にインストールしたTera Term(テラターム)を起動します。
※Tera Termダウンロードサイト:https://forest.watch.impress.co.jp/library/software/utf8teraterm/

Tera Termは以下、Windows OSに対応しています。
・Windows 2000
・Windows XP
・Windows Server 2003/2008/2012
・Windows Vista
・Windows 7
・Windows 8.x
・Windows 10

手順:2
以下、接続情報を入力します。

ホスト:Red Hat Enterprise Linux8のIPアドレス
TCPポート:10022
サービス:SSH

手順:3
「known hostsリストにサーバ”xxx.xxx.xxx.xxx”のエントリはありません。」と表示されますが、known hostsに記載がない・ホスト鍵を受け取っていないサーバに接続しようとしている場合に表示されます。

このホストをknown hostsリストに追加する。を有効にすれば次回接続時に表示されることはありません。

手順:4
ユーザ名・パスフレーズを入力 -> 「OK」を選択します。

手順:5
Red Hat Enterprise Linux 8にSSH接続完了です。