[CentOS 8]SSH接続設定

[CentOS 8]SSH接続設定

他のパソコンからSSHでリモート接続する為の設定方法をメモします。

デフォルトで SSHのポート番号は22が設定されています。初期値のままだと不正侵入のリスクが高まるので、22番から変更しておきます。

空きポート番号の確認

ポートは0~65535まであります。その中でも0~1023までを「ウェルノウンポート番号」といい、ある程度割り振りが決まっている番号があります。
従って、1024番~空いている番号を探しSSHのポートに変更します。

設定するポート番号を決めたら以下のコマンドでポート番号が使用されているか確認します。

$ sudo lsof -i:[ポート番号]

Firewallの設定

まずはFirewallコマンドでssh用のポート番号を開放します。

# ポート番号を開放
$ sudo firewall-cmd --add-port=[ポート番号]/tcp --zone=public
# 解放されているポートの確認
$ sudo firewall-cmd --list-all
  ports: ← [ポート番号]/tcpがあれば設定完了

# 恒久的な設定
$ sudo firewall-cmd --add-port=[ポート番号]/tcp --zone=public --permanent

# 設定のせい読込み
$ sudo firewall-cmd --reload

最後にオプション--permanentを付けて事項すれば、システム再起動後も設定が維持されます。

SELinuxの設定変更

次にSElinuxの設定を変更します。

$ sudo dnf install -y policycoreutils-python-utils
$ sudo semanage port -a -t ssh_port_t -p tcp [ポート番号]

ssdhの設定ファイル変更

テキストエディタ(今回はviを使用)でsshd_configを内容を変更します。

sudo vi /etc/ssh/sshd_config

以下の2か所の値を変更します。
内容は、先ほどSHLinuxで設定したポート番号の設定とrootでのログイン無効化を行っています。

/etc/ssh/sshd_config
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
Port [ポート番号]     #変更前 #Port 22

# Authentication:
PermitRootLogin no    #変更前 PermitRootLogin yes

設定が終わったらsshdを起動します。

$ sudo systemctl start sshd

# 既に起動している場合は、再起動
$ sudo systemctl restart sshd

システム起動時にsshdのサービスを自動起動するよう設定します。

$ sudo systemctl enable sshd

# 自動起動を無効化
$ sudo systemctl disable sshd

以上で設定は終わりです。クライアント端末からssd接続を行ってみましょう。

Commentsこの記事のコメント

メールアドレスが公開されることはありません。お気軽にコメントどうぞ。

人気記事