#前提
Railsは5.1.7です。
GCP(Google Cloud Platform)に登録していること。
流れ
1.VMインスタンスを作る
2.ファイアウォールルールを作る
3.port番号を変更した状態でsshに接続する
1.VMインスタンスを作る
まずVMインスタンスを作ります。
左上のメニューバーをクリックし、
画像下の「Computer Engine」>VMインスタンスを開きます。
赤枠部分を変更し、
今回ディスクは「CentOS 8」を選択しました。
2.ファイアウォールルールを作る
次に、ファイアウォールルールを作ります。
左上のメニューバーをクリックし、
「VPCネットワーク」>ファイアウォールルールをクリック
(結構下の方にあります。)
「ファイアウォールルールを作成」をクリック
作成できました!
3.port番号を変更した状態でsshに接続する
最後、少し苦労した部分です。
まず、メニューバーからComputer Engine
>VMインスタンス
に戻ります。
自分が先ほど作ったインスタンスの右端「接続」から
「ブラウザウィンドウで開く」をクリックすると、別ウィンドウでターミナルが開きます。
そこで、
sudo vi /etc/ssh/sshd_config
と入力し、出力された画面から「Port 22」を探します(真ん中あたり)
見つけたら、以下のように入力します。
vimなので入力は「i」を押して入力です。
Port 22 ←(#は外す!!!!)
Port (自分がファイアウォールルールで決めた番号)
入力が終わったら「Esc」を押し、「:wq」を入力して、上書き保存します。
このままではまだssh接続できないので、いろいろと設定をしていきます。
今回CentOS8を使っているので、続けてターミナルで
sudo yum install -y policycoreutils-python-utils
と入力し、semanage
が使えるようにします。
インストールが終わったら
sudo semanage port --list | grep ssh
と入力するとport 22
しか出力されないと思います。
ここに、先ほど自分で決めたPort番号を追加するために
sudo semanage port --add --type ssh_port_t --proto tcp (番号)
と入力します。
もう一度
sudo semanage port --list | grep ssh
とすると、Port 22に加えて自分が入力した番号も追加されていると思います。
それでは、GCPの方に戻りたいので、コンソール上で
sudo reboot
を入力し、再起動します。
GCPの画面Computer Engine
>VMインスタンス
に戻り、次は
ブラウザウィンドウでカスタムポートを開くを選択。
自分の決めたPort番号を入力し、うまく処理が通るとターミナルが開きます!!
最後にPort22を無効にしておきます。
GCPのメニュー画面から「VPCネットワーク」
>ファイアウォールルール
をクリック
ファイアウォールルールから、
default-allow-sshを探し、編集画面に移動します。
下の方まで移動して
ルールを無効にする
をクリック
無効を選択します。
これで、VMインスタンスから「ブラウザウィンドウを開く」を選択しても、接続ができなくなることを確認したらOKです!
これで、カスタムポートでssh接続するところまで完了しました!!