ファイルの作成/編集、アップロードを全部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画面で編集やアップロードができるのでかなり便利ですね。
以上、どなたかのお役に立てば幸いです。