4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

vscodeからEC2接続時に出る「Permission denied (publickey,gssapi-keyex,gssapi-with-mic)」の解決法

Posted at

概要

  • vscodeからEC2インスタンスへリモートSSH接続する際にハマり、いろんな記事を調べて試してみたが、うまくいかなかった。色々試してみて、自分なりに納得したので数ある方法の一解決方法として記録しておく。

対象

  • vscodeからEC2へのSSH接続で「Permission denied (publickey,gssapi-keyex,gssapi-with-mic)」が出て困っている人

書かないこと

  • EC2周りの設定や説明
  • EC2接続時に使用するsshコマンドの詳細

環境

  • PC : Mac
  • OS : Ventura 13.3
  • SSHクライアント : Remote SSH(vscode拡張機能)

注意すること

いろんな人の記事をみて、注意することが書いてあったので、わかる範囲で列挙する

  • 「ssh -i {path}/{key-name}.pem ec2-user@xxx.xxx.xxx.xxx」の秘密鍵のPathは絶対パスである必要がある
  • 秘密鍵ファイルは他のユーザーがアクセス出来ないフォルダに配置していなければならない
    • 秘密鍵ファイルは.sshディレクトリ配下に配置するのが良い
    • .sshディレクトリの権限を700で設定しておくのが良い
      // 所有者に対して読み取り、書き込み、実行の権限を設定し、グループメンバーや他のユーザーには一切の権限を与えない設定。
      chmod 700 ~/.ssh
      
  • 適切なディレクトリに配置して、適切な権限を付与してもエラーとなる場合は.ssh配下のconfigファイルが正しく記述されているか確認する

設定手順

上記注意事項を踏まえた上で設定していく

上記前提でも記載の通り、Remote SSH(vscode拡張機能)を使用した手順(他のSSHクライアントを使用した際にもおそらく変わらないと思う)

1 .sshディレクトリに移動する

cd ~/.ssh

2 configファイルがあるので開く

インフォメーション
vscode->Remote SSHでの設定方法を説明しておりますが、vimや他のテキストエディタを用いてconfigファイルを開いていただくでも問題ないです

1 vscode->Remote SSH画面からconfigファイル選択画面を表示する
image.png

2 表示するconfigファイルを選択する
image.png

3 configファイルを開いたら、設定を記述する
image.png

記述例

注意
IdentityFileの鍵ファイルのパスは絶対パス指定なので、.sshディレクトリにてpwdコマンドを叩き、取得したパスを指定するようにしてください

```
Host {EC2 public IP Address}
  HostName {EC2 public IP Address}
  IdentityFile /Users/{username}/.ssh/my-key.pem
  User ec2-user
```

4 接続する

image.png

まとめ

見る必要があるポイント

  • .sshディレクトリ配下に鍵ファイルを配置しているか?
  • .sshディレクトリと鍵ファイルの権限は適切か?
  • configファイルは正しく記述できているか?

上記手観点を踏まえた上で試行錯誤したところ私は解決することができたので、同じような悩みを持つ人の一助になれれば幸いです。

4
3
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
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?