AWS EC2 に SSH するための Port 番号を変更する手順のメモ。
環境
- AWS
 - ubuntu 18.04
 
まずは手順の記録
- EC2インスタンスにSSHする(このときはまだPort22)
 - sshd_config を書き換える
 - 設定を反映する
 - AWSコンソールでセキュリティグループを変更する
 - 一度ログアウトし、新たに設定したPortでアクセスを試みる
 
EC2インスタンスにSSHする(このときはまだPort22)
EC2インスタンスにSSHします。
SSHの仕方は下記参照:
sshd_config を書き換える
sshd_config 内の Port 22 の部分を書き換えます。
$ sudo vi /etc/ssh/sshd_config
#       $OpenBSD: sshd_config,v 1.101 2017/03/14 07:19:07 djm Exp $
# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/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.
# Port 22
Port 50122
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
SSH番号の推奨
ポート番号の用途の登録を受け付けているIANA(Internet Assigned Number Authority)では49152~65535番を用いるよう推奨している。
参考:エフェメラルポート 【ephemeral ports】 ダイナミックポート
SSHの接続状況を確認する
現状のSSH状況。
$ sudo netstat -anp | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1217/sshd
LISTEN は SSH 先の Port となっています。
「sshd_config を書き換える」で設定した内容を sshd_config を反映します。
$ sudo service sshd reload
再び設定状況を確認してみます。
$ sudo netstat -anp | grep sshd
tcp        0      0 0.0.0.0:50122           0.0.0.0:*               LISTEN      1217/sshd           
tcp        0      0 10.0.23.121:22          51.123.142.219:62514    ESTABLISHED 17572/sshd: ubuntu 
ESTABLISHED は現在アクセスしている Port となっています。
LISTEN のPort番号がが 50122 となっているため反映がうまくいっています。
AWSコンソールでセキュリティグループを変更する
元々設定していた SSH の設定は削除し、今回設定したPort番号を登録します。

一度ログアウトし、新たに設定したPortでアクセスを試みる
$ ssh -i /path/to/pemkye ubuntu@publicIp -p 50122
問題なくアクセスできたら設定完了です。
ポート番号は忘れないように念のためどこかにメモしておきましょう。



