1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【WSL】SSHのパーミッション問題を、シンボリックリンクで解決した話

Posted at

はじめに

  • WSLの環境構築中、SSH設定で、見事にハマって3時間ほど浪費した
  • 色々と気付くことがあったので、Qiitaに初投稿することにした

対象読者

  • WSLユーザで、「mnt/cにhomeを置きたい!」と考えている方

必ずハマるので是非読んで!

ポイント

  • WSLには、Linuxのファイル領域と、Windowsのファイル領域がある
    • mnt/c以下の領域は、Windowsのファイル領域
  • Windowsには、パーミッションの概念がない
    • Windows領域のファイルのパーミッションは、777のガバガバ状態になっている
    • パーミッションを変更しようとしても、うまく行かない
  • .sshは、Linux領域に配置する
    • SSHは、ファイル(特に秘密鍵)のパーミッションがガバガバだと、エラーが出る
    • パーミッションを変更したくても、Windowsのファイル領域に置いてあると、うまく行かない
  • homeをmnt/cに置きたい場合
    • .sshなどパーミッション設定が必要なものは、Linux領域に置く
    • homeにはシンボリックリンクを貼る

経緯

  • WSLの開発環境を整備する
  • homeが見えない所にあるのが気に食わなかったので、mnt/cに作成したディレクトリにhomeを移す
    • 振り返るとこれが全てのゴタゴタの始まりだった。。。

発生した問題

問題1 gitからSSHでCloneしようとすると、パーミッションの問題で拒絶される

Bad owner or permissions on /mnt/c/wsl_home/.ssh/config 
fatal: Could not read from remote repository. 
Please make sure you have the correct access rights 
and the repository exists.
  • 最初はconfigのパーミッションだけだったが、後々秘密鍵のパーミッション問題まで出てくる...

問題2 パーミッションが意図通り変更できない

  • WSL上からパーミッションを変えようとしても、chmodで設定したようにならない!
    • 600設定したのに、777から変わらない!
    • 試しに000で設定すると、555の設定になる!
      image.png

根本原因

  • 「sshの秘密鍵を、パーミッションの設定ができないWindowsのファイルシステム上に置いていたこと」が原因だった
    • Linuxから見ると、パーミッションが777のガバガバ設定になっていたので、怒られていた
    • homeをmnt/c(Windows領域)から、/home/[Username](Linux領域)に移動すれば解決する

とはいえ、使いやすいようにわざわざmnt/cにhomeを作ったので、変えたくない!

解決策

  • .sshは、Linux領域に配置し、homeには、シンボリックリンクを置く
    • ファイル自体はLinux領域にあるので、パーミッションの設定が可能
    • homeにはシンボリックリンクがあるので、通常と変わらずに色々できる(はず)
    • 設定も散らばらないので、メンテも楽なはず
bash
# 新しいhomeにあった.sshを元のhomeへ移す
cd ~
mv .ssh /home/[username]/.ssh

# シンボリックリンク作成
cd ~
ln -s /home/[username]/.ssh .ssh 

結果

homeの状態

image.png

git cloneも無事成功!
やったぜ!

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?