[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でのログイン無効化を行っています。
# 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この記事のコメント
メールアドレスが公開されることはありません。お気軽にコメントどうぞ。