SSH接続のポート番号を変更する方法
最近、sshポート(22)に対して、不正なログインを試みるユーザーがいたので、ssh接続ポートを変更したので、その時の手順を記載。デフォルト値のsshは、サーバー設定した人であれば誰でも知っている番号なので、vpsなどのインターネットからアクセスできるサーバーのポート番号は変更したほうがよい。
環境
Rokey
変更方法
編集の前のファイルのバックアップを取得します。
cp /etc/ssh/sshd_config /etc/ssh/sshd_config_org
SSH接続のポート番号を変更するには、sshの設定、sshd_configを編集します。
sudo vi /etc/ssh/sshd_config
#Port 22をコメントアウトして、任意のポート番号を設定します。ポート番号の範囲は、「1024〜65535」範囲であればなんでもOKです。ここでは、「22→15000」に変更しています。
# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
# 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 22 ←この設定
Port 15000
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# This system is following system-wide crypto policy. The changes to
# crypto properties (Ciphers, MACs, ...) will not have any effect here.
# They will be overridden by command-line options passed to the server
# on command line.
# Please, check manual pages for update-crypto-policies(8) and sshd_config(5).
ポート番号を変更したら、sshdサービスを再起動します。ここで注意ですが、sshdを再起動後にアクセスするポート番号は変更になるため、ターミナルから抜けてしまうとポート番号を変更して再接続する必要があります。
sudo systemctl restart sshd
設定ミスなどで接続できなくなったら、Webコンソール(vps)から接続して設定を見直すのが良いでしょう。また、ファイヤーウォールでデフォルト22ポート番号を開けているケースがほとんどです。sshポート番号変更と同時にファイヤーウォールの設定も見直しましょう。
接続確認
ssh [ユーザ名]@[接続先IPアドレス] -p 15000