Google Compute EngineへのSSH接続は、
ドキュメントにもありますが、
https://cloud.google.com/compute/docs/instances/connecting-to-instance?hl=ja
SSH認証鍵ペアの生成をして、
Google Cloud Platformコンソール の以下メニューにて
[Compute Engine] – [メタデータ] – [SSH認証鍵]に公開鍵を貼り付けるといういたってシンプルなものです。
なので、通常は問題なくSSHログインできます。
ただ たまに以下のエラーが出て、
No supported authentication methods available
SSHログインできず 困ることがあります。
SSH認証鍵の設定は間違っていないのにおかしいなというときは、
ユーザー/.ssh/authorized_keys のファイルが存在するかを確認してみましょう。
例えばapacheユーザーで
1 2 3 4 |
vi /etc/passwd apache:x:48:48:Apache:/var/www:/sbin/nologin ↓以下に変更 apache:x:48:48:Apache:/home/apache:/bin/bash |
といった変更をしました。
ただ変更する前に
GCP管理コンソールで[メタデータ]を登録したせいで /home/apache/.ssh/authorized_keys が生成されておらず、ドツボにはまったことがあります。操作の順番を間違えたパターンです。
この時は rebootをしたら、
.ssh/authorized_keys のファイルが無事自動生成されて、ログインできました。
また
bad ownership or modes for directory /home/apache
というエラーの場合は、
/home/apacheのパーミションが777の可能性があります。
700,711,755のいずれかにしましょう。
とりあえず、SSHログインできないときは、
以下のようにGoogle Cloud Platform上のコンソールから SSH(ブラウザウィンドウで開く)接続をして、
less /var/log/secure でエラーをチェックすると解決方法がみえてきます。
もし同じような事象の方がいましたら、お試しください。