J'utilise un yubikey pour stocker une paire de clés GPG et j'aime utiliser cette paire de clés comme clé SSH. GPG sur Windows expose un agent SSH de style de concours et je voulais un moyen d'utiliser cette clé dans WSL. J'ai réécrit cela en Go car cela signifie que la version est un seul binaire simple, et j'aime aller.
Sur le côté de Windows, Démarrez le concours (ou agent compatible tel que gpg4win).
Exécutez wsl-ssh-pageant.exe --wsl C:wsl-ssh-pageantssh-agent.sock (ou tout autre chemin, max ~ 100 caractères)
Dans WSL Exporter la variable d'environnement SSH_AUTH_SOCK pour pointer la prise, par exemple, si vous avez ssh-agent.sock dans C:wsl-ssh-pageant
$ export SSH_AUTH_SOCK=/mnt/c/wsl-ssh-pageant/ssh-agent.sock
ssh Sur le côté de Windows, Démarrez le concours (ou agent compatible tel que gpg4win).
Exécutez wsl-ssh-pageant.exe --winssh ssh-pageant (ou tout autre nom)
Dans cmd exportez la variable d'environnement SSH_AUTH_SOCK ou définissez-la dans vos variables d'environnement sous Windows. Utilisez le nom que vous avez donné au tuyau, par exemple:
$ set SSH_AUTH_SOCK=\.pipessh-pageant
ssh dans cmd.exe Pour ajouter une icône à Systray Run wsl-ssh-pageant.exe --systray --winssh ssh-pageant (ou en utilisant --wsl ).
Vous pouvez utiliser les paramètres --winssh et --wsl en même temps avec le même processus à proxy pour les deux
Prenez la dernière version de la page des versions.
Pour le support WSL, vous aurez besoin de GO 1.12 ou version ultérieure. Allez 1.12 Ajout de la prise en charge des prises AF_UNIX sur Windows.
Pour créer les actifs.go Run:
go generate
Pour créer une construction sans fenêtre de console:
go build -ldflags -H=windowsgui
Vous avez besoin de Windows 10 1803 ou version ultérieure pour la prise en charge de WSL car il s'agit de la première version prenant en charge AF_UNIX Sockets. Vous pouvez toujours l'utiliser avec le client Windows SSH natif sur les versions antérieures.
La différence entre le binaire GUI.exe et les binaires réguliers est le sous-système tel que défini dans l'en-tête PE. Le binaire GUI.exe est défini avec le sous-système Win32 afin qu'il n'aboutit pas une ligne de commande, ce qui lui permet d'être lancé sur le démarrage. Le binaire ordinaire a le sous-système de console afin qu'il lance une ligne de commande en double cliquer, et bloquera la ligne de commande comme prévu. Remarque: vous pouvez lancer l'un ou l'autre binaire avec l'indicateur -systray pour avoir une icône systray pendant l'exécution de l'outil, cela ne fournit qu'un moyen de quitter l'application.
Veuillez ouvrir un problème, j'essaye de rester au-dessus d'eux, promettez.
AF_UNIX ne soient disponibles.