GCEでSSHのポート番号を変更する
Google Compute Engine(GCE)でSSH接続のポート番号がデフォルトの22番だと不正アクセスを試みようとするログがこんな感じでいっぱい残っているので、ポート番号の変更をしてみます。
ファイアウォールルールの作成
GCPのコンソールページのナビゲーションメニューから、VPCネットワーク
→ファイアウォール ルール
に移動してファイアウォール ルールを作成
をクリック。
設定するのは、
- 名前→任意の名前
- ターゲットタグ→任意のタグ
- ソース IP の範囲→0.0.0.0/0
- 指定したプロトコルとポート→tcpにチェックしてポート番号を適当に
他は初期設定のままでOK。
VMインスタンスにネットワークタグを設定
GCPのコンソールページのナビゲーションメニューから、Compute Engine
→VMインスタンス
に移動。使用するインスタンス内の画面上部にある編集をクリックして、ネットワークタグにファイアウォールルールで作成したターゲットタグを入力してenterキー。画面下部の保存で設定の保存。
SELinux と iptablesの無効化
CentOSのSELinux と iptablesを無効化します。
systemctl disable firewalld
/etc/selinux/configを編集
cd /etc/selinux/
念のためバックアップ
cp config config_old
vim configで
#SELINUX=enforcingをコメントアウトして
SELINUX=disabledを記入
GCEを再起動(停止→開始)
systemctl is-enabled firewalld
getenforce
でどちらもdisable
になっていればOK。
ポート番号を変更
sshd_configに使用するポート番号を記入
cd /etc/ssh
cp sshd_config sshd_config_old 念のためsshd_configをバックアップ
vim sshd_config
port 44444
sshdを再起動
systemctl restart sshd
実際に接続
まずはコンソールからSSHでブラウザウィンドウで開く
をクリック。
ポート22で接続できないことを確認
次はブラウザ ウィンドウでカスタムポートを開く
をクリックしてポート番号を入力して接続できればポート番号の変更は成功です。
ターミナルソフトで接続する場合もポート番号を22から変更して接続。
Google Cloud SDK shellから接続する場合は
gcloud compute ssh インスタンス名 --ssh-flag="-P ポート番号"
-P は大文字じゃないと接続できなかったです。