WSL使っててファイルの権限が変更できなかったので備忘で残しておきます。
実施作業
AWSのチュートリアルをやっていて、手元のWSLからLinuxにSSHしようとすると以下のエラーで怒られた。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0777 for './xxxxx_keypair.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 "./xxxxx_keypair.pem": bad permissions ec2-user@ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
まぁせやろなって感じだったので以下のコマンドを実行してみたけど、全然変わる気配がない。
$ sudo chmod 600 ./xxxxx_keypair.pem
調べてみると以下の記事を見つけて解決した。
WSLでWindowsのフォルダを見ると、「/mnt/c/Users/[UserName]/Desktop/...」といったパスになってるが、このWindowsの領域はOSで管理されているのでchmodのコマンドでは変更できないらしい。
qiita.com
要はWindows側で管理されていなければ良いので、WSLの環境にコピーするとchmodで権限変更ができるみたい。
$ cp -r ./xxxxx_keypair.pem /tmp $ chmod 600 /tmp/xxxxx_keypair.pem $ ls -la /tmp -rw------- 1 user user 1674 Oct 23 15:16 xxxxx_keypair.pem
無事にSSH接続できました。
$ ssh -i /tmp/xxxxx_keypair.pem ec2-user@ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/
感想及び所感
参考記事の焼きまわしみたいな内容だけど、自分用メモとして残しておきます。