LoginSignup
19
9

More than 5 years have passed since last update.

GCEでSSH鍵でログインが出来ない((Permission denied (publickey,gssapi-keyex,gssapi-with-mic))の解決方法

Last updated at Posted at 2019-02-26

事象

  1. ちゃんとSSHの鍵は設定している。(以下のキャプチャは設定してないけど、本来はちゃんと設定されている) SSH鍵設定箇所.jpg
  2. SSHポートも空いている
  3. クライアント側からSSHログインをしようとするとエラーがPermission denied (publickey,gssapi-keyex,gssapi-with-mic)
  4. /var/log/secure を確認すると
Feb 25 16:31:59 wp sshd[20577]: Received disconnect from xx.xx.xx.xx

もはや、何が原因がわからない状態。

原因

  1. .ssh自体の権限は700に設定されているか!?
  2. authorized_keysの権限は600になっているのか!?
  3. id_rsaの権限は600になっているのか!?(ローカルPC)
  4. id_rsa.pubの権限は644になっているのか!?(ローカルPC)→あまり気にしなくても良い
  5. 公開鍵(authorized_keys)はちゃんとコピペできているか!?

この辺を確認する。
https://blog.adachin.me/archives/2054 より

すると、 /home/[ユーザ]/.ssh/authorized_keys が存在しない。
gcpのComputeEngine→VMインスタンスから、SSH鍵をいくら設定をしても駄目。
再起動しても駄目。 (バグ?かと思ったけど、このPJだけで他のPJだとちゃんとauthorized_keysが出来る)
ここの部分をいくら設定しても駄目。
SSH鍵設定箇所.jpg

対策

いくらComputeEngine→VMインスタンスから、SSH鍵を作成しても駄目なので、手動でやる。

  1. authorized_keysを/home/[ユーザ]/.ssh/ にコピペ
  2. authorized_keysの権限は600にする
  3. authorized_keysのユーザをログインユーザに合わせる。

これでようやくログインが出来る。

稀なのかもしれない

普通、ComputeEngine→VMインスタンスから、SSH鍵を設定すれば、authorized_keysは自動出来る。
いくらググっても同じ条件で苦しんでいる人が出てこない。
これは稀なのか。

なんとなく原因

SSHのログイン管理を一時的にIAMで管理していたことがあり、その設定が残ると、authorized_keysが出来ない気がする。
カスタムメタデータの enable-oslogin を消して、VM再起動しても駄目だった。
一度やってしまうと、そうなるのかもしれない。

19
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
9