Windows(LinuxまたはWSL用のWindowsサブシステム)でPowershellからBashに移行しようとしています。 GITを使用する目的で、C:/Users/User/.ssh
にSSHキーを設定しました。次にBashにログインし、両方のシェルから同じsshキーを(理論的には)使用するためにln -s /mnt/c/Users/User/.ssh/ ~/.ssh/
のシンボリックリンクを作成しました。
ただし、gitを実行すると、常にエラーが発生します:Bad owner or permissions on /home/user/.ssh/config
。私は何が間違っているのですか?
私は何が間違っているのですか?
SSHには秘密鍵に対する適切なアクセス許可が必要であり、別のファイルシステム(Windows)にシンボリックリンクしている間はそれを実現できません。 ssh
のマニュアルページでは、次のように明確に説明されています。
~/.ssh/id_rsa
認証用の秘密鍵が含まれています。これらのファイルには機密データが含まれており、ユーザーは読み取り可能である必要がありますが、他のユーザーはアクセスできません(読み取り/書き込み/実行)。 sshは、他の人がアクセスできる場合、秘密鍵ファイルを単に無視します。
「キーを共有」する場合は、おそらく秘密キーをコピーして適切なアクセス許可を設定できます。
DrvFS
ファイルシステムとmetadata
オプションを使用してWindowsファイルシステムをマウントする必要があります。これにより、Linuxのアクセス許可をファイルメタデータに保存してWindowsファイルと共存させることができます。
Sudo umount /mnt/c Sudo mount -t drvfs C: /mnt/c -o metadata
これにより、両方のオペレーティングシステムでSSHキーを使用できるようになります。
さらに読む: https://blogs.msdn.Microsoft.com/commandline/2018/01/12/chmod-chown-wsl-improvements/
WSL
を構成して起動時に毎回この設定を適用する方法の詳細: https://blogs.msdn.Microsoft.com/commandline/2018/02/07/automatically-configuring- wsl /