WindowsSubsystemForLinux

SSHのid_rsaファイルがchmodで権限変更できない@WSL

Mac使えないマン、買えないマンなのでWindowsにWindows Subsystem for LinuxのUbuntuを入れて使っています。

GitHubやGitBacketのSSHを設定して快適なGitライフを送ろうと思っていたのですが、

Ubuntuのターミナルを起動した時のホームディレクトリをWindowsの方から使いやすいようにWindows直下の近くに変更してしまっていたので、少しハマってしまいました。

はい、確かに以下のようにしてホームディレクトリ変更してました。

$ sudo vi /etc/passwd

Windowsから使いやすいようにDドライブの直下近くにしていたんです。

hige:x:1000:1000:,,,:/mnd/d/home:/bin/bash

そしてSSH秘密鍵を以下のようにして設置していました。

$ ls /mnt/d/home/.ssh

id_rsa id_rsa.pub known_hosts

ssh接続のテストして

$ ssh -T git@bitbucket.org

するとこのようなの出ました。

 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for 'id_rsa' 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: id_rsa
Permission denied (publickey).

でパーミッションが空きすぎているので、変更します。

$ chmod 0600 id_rsa

$ ls -la
total 8
-rwxrwxrwx 1 hige hige 1766 Mar 28 23:25 id_rsa

変わっていないよ、、

どうも、Windowsのファイルシステムではchmodで変えられないらしいのよ


NTFS/FAT32等のファイルシステム上ではchmodでアクセス権を変更することはできません。


なので、ちゃんとホームディレクトリに戻してその直下の.sshの中で秘密鍵公開鍵を作ると、chmodで権限が変えられ、SSH接続が成功しました。

$ sudo vi /etc/passwd

hige:x:1000:1000:,,,:/home/hige:/bin/bash

$ ssh-keygen 

$ chmod 0600 id_rsa
$ ls -la
-rw------- 1 hige hige 1766 Mar 29 00:19 id_rsa
$ ssh -T git@bitbucket.org
logged in as higekick.
You can use git or hg to connect to Bitbucket. Shell access is disabled.

(^_-)-☆

参考:

https://confluence.atlassian.com/bitbucket/set-up-an-ssh-key-728138079.html

http://tadaoyamaoka.hatenablog.com/entry/2016/08/06/112047

https://ja.stackoverflow.com/questions/44239/chmod-%E3%81%A7-%E3%83%91%E3%83%BC%E3%83%9F%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3-%E3%81%AE%E5%A4%89%E6%9B%B4%E3%81%8C%E5%87%BA%E6%9D%A5%E3%81%AA%E3%81%84