Windows10でchmodコマンドが使えない!?
先日、Docker ToolboxからDocker Desktopに変えたのですが、そこでローカルのターミナルからAWS(EC2)にssh接続しようとしたらできなくなっていました。以前は特につまずく要素もなく、AWSから取得したpemファイルをc:/Users/yuu/.sshに移動してからchmodコマンドで権限変更してssh接続できていました。しかし、今回の場合は以前と同じ手順を実施したにもかかわらずssh接続ができなくなっていました(もしかしたら違う手順をしてたかも?)。
実行時には下記エラーが出ており、そのpemファイルはセキュリティがガバガバだから使えないよと言われ、接続できませんでした。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0777 for 'portfolio.pem' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: ignore key: portfolio.pem Permission denied (publickey).
調べてみると、「Windowsのファイルシステムではchmodコマンドでは権限を変更することができない」そうです(;´д`)
または、Windowsではパーミッションを変更する必要がないだとか。
なので、主な解決策としては
・Linuxのホームディレクトリ直下に.sshフォルダを作成し、そこにpemファイルを移動させてからchmodコマンドを実行
これが一番簡単だと思います。
筆者はローカルでUbuntuを使用していたので、UbuntuとWindowsとの共有されているディレクトリ(/mnt/c/Users/yuu)からホームディレクトリ(/home/yuu.ssh)にpemファイルを移動させて行いました。
以下のコマンドは参考程度に
~/.ssh$mv /mnt/c/Users/yuu/Downloads/portfolio.pem . ~$ls →portfolio.pem #mvコマンドで移動できたか確認 ~$chmod 600 portfolio.pem ~$ssh接続