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
問題なくアクセスできたら設定完了です。
ポート番号は忘れないように念のためどこかにメモしておきましょう。