カピバラ好きなエンジニアブログ

興味ある技術とか検証した内容を赴くままに書いていきます。カピバラの可愛さこそ至高。

WSLでのファイル権限変更方法

WSL使っててファイルの権限が変更できなかったので備忘で残しておきます。

実施作業

AWSチュートリアルをやっていて、手元のWSLからLinuxSSHしようとすると以下のエラーで怒られた。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         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/


感想及び所感

参考記事の焼きまわしみたいな内容だけど、自分用メモとして残しておきます。