目次

Google cloud platformをローカルからいじれるgcloudで出会ったエラー

Macbook pro iterm2からリモートGCEにSSHするコマンド

$ gcloud compute ssh <instance_name>

を実行した際に下記のエラーに出会った

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

弊環境

  • Macbook pro Mojave
  • vscode
  • iTerm2
  • Google Cloud SDK 227.0.0
  • app-engine-go
  • app-engine-python 1.9.80
  • bq 2.0.39
  • cloud-datastore-emulator 2.0.2
  • core 2018.11.30
  • gsutil 4.34

ssh可能だった前回と今回の違い

GCE インスタンスのディスクがいっぱいになったのでコンソールからSSDを増設した.

エラーに対処しようと調べたキーワード

  • [ gcloud ssh error permission denied ]
  • [ gcloud ssh ssh key not find ]

検索して出てきた対処法では治らなかった

  1. gce instanceにローカル~/.ssh/google_compute_engine.pubのキーを登録.
    → エラーに変化なし
  2. $gcloud compute config-ssh
    → ~/.ssh内にconfig出来ただけでエラー変わらず
  3. $chown -R user:<user_name> .ssh/
    → chown: : illegal group name
    → はい,同じエラー

現状把握と仮説

んー
ウェブサービスは稼働しているが,画像保存する自動化サービスは停止.

仮説 1. 保存系サービスは容量いっぱいのためerrorで停止 2. 容量いっぱいのためSSHするとlog出力出来ず拒否られてる

仮説を検証してみる(どうやって?)

んー
じゃあまず,ウェブサービスから写真投稿してみる
→ 投稿完了 → 反映できず → つまりわいの例外対処ミス
次に,なにしよ

すること…

問題が起きたときに仮説立てて,検証作業を数個考案,からの実行,仮説修正し更に対処.すごいなー賢い人尊敬するー

そういう人になりたい,故に努力.
QiitaやReddit様様

容量オーバーからのSSH出来ない問題直せたよ,次結論!

GCE インスタンスのスナップショットを撮って,スナップショットを元にストレージ増設した新しいインスタンスを立てる.
新しいインスタンスは各設定やDBがおんなじだよ,DNS張り替えればOKだよ,心配しないでおれ.

んで,立てたインスタンスにsshしてから各サービスをビルド. 稼働して,DNSを張り替え(張替え前にチェック推奨)

おけーーー