IT

【Remote Development】VScodeからSSHできない時の対処

ファイルの作成/編集、アップロードを全部VSから実施したいと思い、拡張を入れましたがうまくサーバーに接続できず、困ったのでその対策備忘です。


環境

  • Mac sonoma 14.3
  • Vscode 1.86
  • Remote Development v0.25.0

利用する設定ファイルと鍵はデフォルトのUser/{users}/.ssh/ に配置しています。 

接続するサーバーはaws のEC2インスタンスです。


発生した問題

  • Keyのパーミッションエラー
  • 相対パスによる参照エラー

対処

Keyのパーミション変更

Terminalから以下コマンドを叩き、接続しようとすると後述のエラーとなりました。

  • コマンド
ssh {ユーザー名}@{サーバーのパブリックIP} -i {User/{users}/.ssh/{use_key}.pem}
  • エラーMSG抜粋
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0664 for '.ssh/{use_key}.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key ".ssh/{use_key}.pem": bad permissions
[{ユーザー名}@{サーバーのパブリックIP}](mailto:{ユーザー名}@{サーバーのパブリックIP}): Permission denied (publickey).
  • Keyのパーミッション変更
chmod 600 .ssh/{use_key}.pem

上記にて、TerminalからはSSH接続ができるようになりました。


パスの参照方式変更

  • configファイル
Host dev-server
  HostName {サーバーのパブリックIP}
  User {ユーザー名}
  Port 22
  IdentityFile “User/{users}/.ssh/{use_key}.pem”

Keyは、~.ssh直下に配置していたので、相対パスで"./{use_key}.pem" と指定していましたが、絶対パスで指定しないとエラーになりました。

また、ダブルクォートで文字列を囲わないとダメでした


最後に

前までは、Termiusを利用していましたが、VScodeの方が1画面で編集やアップロードができるのでかなり便利ですね。

以上、どなたかのお役に立てば幸いです。

  • この記事を書いた人

緑川縁

ニートからシステムエンジニアになった人
クラウド案件をメインにやっています。
保持資格:CCNA,AWS SAA&SAP,秘書検定2級
趣味でボカロ曲作り始めました。

-IT
-