概要
MacからVSCodeのRemote SSHでAWS EC2に接続し用とした際に接続できなかった。
Configファイルは以下のようにしていました。
Host docker-demo
HostName xxxxxxxxxxxxx (public ip addressコピペしています)
User ubuntu
IdentityFile ~/.ssh/xxx.pem
ログを見ていると以下のようなものが目に入りました。
log
Load key "~.ssh/xxx.pem": bad permissions
なるほど?permissions?何を付ければいいの?ということで調査開始。
原因 / 解決策
私の場合はpemファイルのパーミッションに問題があったようです。
公開鍵認証方式でのパーミッション指定は以下である必要があるそうです。
- ホームディレクトリのパーミッションは 755 以下であること
- .ssh ディレクトリのパーミッションは 700
- .ssh/authorized_keys のパーミッションは 600
pemファイル (xxx.pem) のパーミッションを600にしたら接続できました。
chmod 600 xxx.pem
めでたしめでたし。