今更ながらGoogle Compute Engine(GCE)を使ってみたいなと思い、
インスタンス作るときにやった手順をまとめてみた。
ほぼ、以下の2つの記事を見てやった手順をまとめただけの備忘録。
・ GCE の無料枠のサーバを立るときに、初見でハマりそうなところ - Qiita
・ GCPで永久無料枠を利用してサービスを立ち上げたときにしたことの備忘録 - Qiita
1. インスタンス作成
imageはUbuntu 18.04(Minimal)を選択
- f1-microにする
- 80, 433ポートを開放する
- 「HTTPトラフィックを許可する」にチェック
- 「HTTPSトラフィックを許可する」にチェック
- IPを固定にする
- 「ネットワーキング」>「ネットワークインターフェース」>「外部IP」
- 「プライマリ内部IP」とは違うので注意
2. SSHの設定
2-1. ポート変更
- メニューの「VPCネットワーク」>「ファイアウォールルール」から
- 「ファイアウォール ルールの作成」を押して作成
- ターゲットタグ: original-allow-ssh
- ソースIPの範囲: 0.0.0.0/0
- プロトコルとポート: tcp 40022
- VMの「ネットワークタグ」に「ターゲットタグ」をつける
- 「VMインスタンス」にある該当のVMの「接続」>「SSH」を押してブラウザでログイン
# apt updateしないとvimをインストールできない
$ sudo apt update
$ sudo apt install -y vim
$ sudo vim /etc/ssh/sshd_config
$ sudo systemctl restart sshd
#Port 22
+ Port XXXX (XXXX は さっき開けたポート番号)
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
sshdを再起動したら、編集したブラウザは閉じずに、
「接続」>「ブラウザからカスタムポートで SSH を開く」から
変更したポートで接続してみて、つながるかどうかを確認
うまくできたらポートを閉じる
- 「ファイアウォールルール」に移動
- 「ファイアウォール ルールの作成」を押して作成
- ターゲットタグ: disallow-ssh22
- 一致したときのアクション: 拒否
- ソースIPの範囲: 0.0.0.0/0
- プロトコルとポート: tcp 22
- VMの「ネットワークタグ」に「ターゲットタグ」をつける
2-2. 公開鍵の認証
# 鍵を生成。アカウント名はmemorylovers
$ ssh-keygen -t rsa -f ~/.ssh/gcp_key -C memorylovers
$ chmod 400 ~/.ssh/gcp_key
# 公開鍵をコピー
$ cat ~/.ssh/gcp_key.pub | pbcopy
- メニューの「VMインスタンス」から該当のVMを選択し、編集画面へ
- SSHキーに貼り付けて、保存
接続確認をしてみる
$ ssh memorylovers@<IPアドレス> -p <指定したポート> -i ~/.ssh/gcp_key
2-3. SSHの設定を変更
ポート番号以外について、確認・設定していく
# プロトコルを2にする
+ Protocol 2
# rootログインを無効にする
#PermitRootLogin prohibit-password
+ PermitRootLogin no
# パスワード認証を無効にする
PasswordAuthentication no
ChallengeResponseAuthentication no
# 認証の試行回数を制限する
#MaxAuthTries 6
+ MaxAuthTries 5
設定が終わったらsshdを再起動して設定を反映
$ sudo systemctl restart sshd
以上!! これでインスタンスが作成できた!
こんなのつくってます!!
積読用の読書管理アプリ 『積読ハウマッチ』をリリースしました!
積読ハウマッチは、Nuxt.js+Firebaseで開発してます!
もしよかったら、遊んでみてくださいヽ(=´▽`=)ノ
要望・感想・アドバイスなどあれば、
公式アカウント(@MemoryLoverz)や開発者(@kira_puka)まで♪