GCP の AI notebooks インスタンスに ssh できなかったので調べた

動機

Visual Studio Code でコードをリモート編集したい。そのためには local Mac からインスタンスssh が必要。

事実

ssh -v

ssh -v  [外部IPアドレス]
OpenSSH_7.9p1, LibreSSL 2.7.3
debug1: Reading configuration data /Users/higepon/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: Connecting to [外部IPアドレス] [[外部IPアドレス]] port 22.
debug1: connect to address[外部IPアドレス] port 22: Operation timed out
ssh: connect to host [外部IPアドレス] port 22: Operation timed out

ファイアーウォールの設定

まずヘルプドキュメントを読む。

設定してみよう。"VPC ネットワーク" - "ファイアーウォールルール" を開く。

  1. ファイアウォール ルールの作成
  2. 名前: higepon-kaggle-ssh
  3. ネットワーク:インスタンスのネットワークと同じものを選ぶこと!
  4. 優先度:999
  5. 上り
  6. ターゲットタグ:higepon-kaggle-ssh
  7. ソースIPの範囲:0.0.0.0/0
  8. tcp:22
  9. インスタンス詳細設定
  10. ネットワークタグ:higepon-kaggle-ssh
  11. ssh -v [外部IPアドレス] で無事接続できた!

## 自分用メモ
インスタンス側で ssh 認証鍵を higepon と jupyter 両方で登録しておくこと。

Host kaggle-gcp
    HostName 外部IPアドレス
    User jupyter
    IdentityFile /Users/higepon/.ssh/google_compute_engine
    UserKnownHostsFile=/Users/higepon/.ssh/google_compute_known_hosts
    HostKeyAlias=compute.xxxxx
    IdentitiesOnly=yes
    CheckHostIP=no