29
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EC2のSSHポート番号を変更する(AWS)

Last updated at Posted at 2019-06-05

デフォルトのSSHポート番号は22ですが、デフォルト故にハッカーからの標的にされやすい特徴があります。
EC2にて、インスタンスを作成後、ポート番号を変更する手順を記述します。

手順

  1. EC2インスタンスにSSHで接続
  2. sshd_configの中身を書き換える
  3. reloadで設定を反映
  4. AWSコンソールにて、インバウンドの設定を変更

インスタンスに接続

mbp:~ mac$ ssh -i .ssh/秘密鍵ファイル ec2-user@パブリックIP
Last login: Tue Jun  4 14:42:14 2019 from 110.235.247.88

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/

sshd_configの設定を書き換えます
# Port 22となっている場所をコメントアウトし、任意のポート番号にします。
エフェメラルポート番号(49152~65535)から指定すれば良いので、今回は50022に指定しました。
なお、エフェメラルポート番号とはIANAという団体が使用を推奨しているポート番号範囲です。
参考記事:エフェメラルポート 【 ephemeral ports 】 ダイナミックポート

sudo vi /etc/ssh/sshd_config

# 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

# 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 50022
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

設定を反映するため、下記コマンドを入力します。

sudo service sshd reload

内容が反映されているか、netstatで確認します。
LISTENに50022があることから、うまくいっています。
なお、ESTABLISHEDに22と記載されていますが、これは現在ポート番号22で接続している状態を示しています。
後に、50022でssh接続したあとは、22と表示されません。

sudo netstat -anp | grep sshd
tcp        0      0 0.0.0.0:50022           0.0.0.0:*               LISTEN      3599/sshd
tcp        0     36 172.31.36.147:22        110.235.247.88:56226    ESTABLISHED 14847/sshd: ec2-use
tcp6       0      0 :::50022                :::*                    LISTEN      3599/sshd

AWSコンソールにて、インバウンドの設定

TCP Ruleにポート番号50022を指定し、SSHの記述は削除します。

Screen Shot 2019-06-05 at 11.12.15 AM.png

EC2インスタンスの接続確認

ポート番号50022を指定してSSH接続できるか確認します。

ssh -i .ssh/秘密鍵ファイル ec2-user@パブリックIP -p 50022
Last login: Wed Jun  5 03:45:55 2019 from 110.235.247.88

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/

参照元

AWS EC2 Amazon Linuxインスタンス起動後、最初にやることまとめ(SysVinit編)

【AWS】SSHのポート番号を変更してみよう 【使ってみた】

29
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?