Yubikey를 사용하여 GPG 키 쌍을 저장 하고이 키 쌍을 SSH 키로 사용하고 싶습니다. Windows의 GPG는 미인 대회 스타일 SSH 에이전트를 노출시키고 WSL 내 에서이 키를 사용하는 방법을 원했습니다. 릴리스가 단일 간단한 바이너리라는 것을 의미하기 때문에 GO에서 이것을 다시 작성했습니다.
Windows 측면에서 Pageant (또는 GPG4WIN과 같은 호환제).
wsl-ssh-pageant.exe --wsl C:wsl-ssh-pageantssh-agent.sock (또는 기타 경로, 최대 ~ 100 자)
WSL 내보내기에서 ssh-agent.sock 있는 경우 SSH_AUTH_SOCK 환경 변수가 소켓을 가리 킵니다. C:wsl-ssh-pageant
$ export SSH_AUTH_SOCK=/mnt/c/wsl-ssh-pageant/ssh-agent.sock
ssh 에 의해 사용할 수 있어야합니다. Windows 측면에서 Pageant (또는 GPG4WIN과 같은 호환제).
wsl-ssh-pageant.exe --winssh ssh-pageant (또는 기타 이름)를 실행하십시오.
cmd 에서 SSH_AUTH_SOCK 환경 변수를 내보내거나 Windows의 환경 변수에서 정의하십시오. 예를 들어 파이프에 제공 한 이름을 사용하십시오.
$ set SSH_AUTH_SOCK=\.pipessh-pageant
cmd.exe 에서 ssh 사용해보십시오. Systray run wsl-ssh-pageant.exe --systray --winssh ssh-pageant (또는 --wsl 사용)에 아이콘을 추가합니다.
동일한 프로세스와 동시에 두 --wsl 를 모두 사용할 수 있습니다 --winssh
릴리스 페이지에서 최신 릴리스를 가져옵니다.
WSL 지원을 위해서는 1.12 이상이 필요합니다. GO 1.12 Windows에서 AF_UNIX 소켓에 대한 지원이 추가되었습니다.
assets.go run을 만들려면 :
go generate
콘솔 창없이 빌드를 만들려면 :
go build -ldflags -H=windowsgui
AF_UNIX 소켓을 지원하는 첫 번째 버전이므로 WSL 지원을 위해서는 Windows 10 1803 이상이 필요합니다. 이전 빌드의 기본 Windows SSH 클라이언트와 함께 사용할 수 있습니다.
Gui.exe Binary와 일반 바이너리의 차이점은 PE 헤더에 설정된 서브 시스템입니다. GUI.exe Binary는 Win32 서브 시스템으로 설정되어 명령 줄을 생성하지 않도록 시작시 시작시 출시 될 수 있습니다. 일반 바이너리에는 콘솔 서브 시스템이 있으므로 두 번 클릭하면 명령 줄을 시작하고 예상대로 명령 줄을 차단합니다. 참고 : 도구가 실행되는 동안 Systray 아이콘을 갖도록 -systray 플래그와 함께 이진을 시작할 수 있으므로 응용 프로그램을 종료하는 방법 만 제공합니다.
문제를 열어주세요. 나는 그들을 약속하고 노력하고 있습니다.
AF_UNIX 소켓을 사용할 수 있기 전에 WSL과 Linux 사이에 스트림을 만드는보다 안전한 방법의 예를 들어 NPIPERELAY의 John Starks에게 감사드립니다.