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