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