WSL과 Windows간에 SSH 키를 공유 할 수 있습니까?


4

PowerShell을 사용하여 Windows (Linux 또는 WSL 용 Windows 서브 시스템)에서 Bash로 이동하려고합니다. GIT를 사용하기 위해 나는 SSH 키를 다음과 같이 설정했다. C:/Users/User/.ssh. 나는 Bash에 로그인하고 심볼릭 링크를 만들었다. ln -s /mnt/c/Users/User/.ssh/ ~/.ssh/ (이론적으로) 두 쉘에서 같은 ssh 키를 사용하기 위해서.

그러나 git을 실행할 때 항상 오류가 발생합니다. Bad owner or permissions on /home/user/.ssh/config. 내가 뭘 잘못하고 있죠?

답변:


2

내가 뭘 잘못하고 있죠?

SSH는 비공개 키에 대해 정당한 권한을 요구하며 다른 파일 시스템 (윈도우)에 심볼릭 링크하는 동안이를 달성 할 수 없습니다. 매뉴얼 페이지 ssh 매우 명확하게 설명합니다 :

~/.ssh/id_rsa

인증을위한 개인 키가 들어 있습니다. 이러한 파일에는 민감한 데이터가 포함되어있어 사용자가 읽을 수 있어야하지만 다른 사람이 액세스 할 수없는 (읽기 / 쓰기 / 실행) . ssh는 다른 사용자가 액세스 할 수있는 경우 개인 키 파일을 무시합니다.

"키 공유"를 원하면 개인 키를 복사하고 적절한 사용 권한을 설정할 수 있습니다.


고맙습니다. 그리고 두 시스템간에 동일한 사용자를 공유 할 수있는 방법이 없습니다.
bluppfisk

키 복사가 작동하지 않습니다. 그들은 여전히 ​​이전 소유권 & amp; 사용 권한. chmod와 chown을 사용하면 자동으로 실패합니다.
Hippyjim

3

당신은 윈도우 시스템을 마운트해야합니다. DrvFS 파일 시스템 metadata 옵션을 사용하면 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/


안녕하세요 차드, 이건 흥미 롭습니다. 더 이상 듀얼 부팅 시스템이 없어서 제게 맞는지 테스트 할 수 없으므로 올바른 대답으로 표시 할 수 없습니다. 하지만 나는 upvote 수 있습니다.
bluppfisk

@bluppfisk fwiw Windows / Linux에서 ssh 키를 공유하기 위해이 방법을 사용하고 있습니다.
ChadT
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.