Comment maintenir la session de connexion ssh-agent avec les nouveaux OpenSSH et PowerShell de Windows 10

17

Sur ma machine Ubuntu, j'utilise simplement le trousseau pour maintenir un seul agent ssh qui reste connecté.

J'aimerais quelque chose de similaire à cela sur Windows maintenant que OpenSSH est nativement inclus. J'utilisais Git Bash avec le if [ -z "$SSH_AUTH_SOCK" ] ; then ...script bien connu mais cela a entraîné l'ouverture de nombreux agents ssh, je savais qu'il était déconseillé (en partie à cause de ce billet de blog: http://rabexc.org/posts/pitfalls-of-ssh -agents ) - c'est ce qui m'a fait obtenir un trousseau pour Ubuntu. Une autre raison de ne plus l'utiliser est que je passe à PowerShell comme shell principal.

Mais je ne sais pas comment réaliser le même genre de chose sur Windows spécifiquement avec PowerShell et avec Win32-OpenSSH .

Merci!

Southclaws
la source

Réponses:

13

Vous devez configurer le service OpenSSH Authentication Agent pour qu'il démarre automatiquement (ou vous pouvez le démarrer manuellement à chaque fois que vous ouvrez votre PowerShell pour la première fois: Start-Service ssh-agent).

Après cela, vous n'avez besoin ssh-add C:\path\to\your\ssh\key\id_rsaque d'une seule fois. Après cela, à chaque démarrage de l'agent ssh, la clé sera là. Vous pouvez vérifier avec ssh-add -l.

EDIT: Pour que l'agent SSH démarre automatiquement avec Windows, vous pouvez exécuter Set-Service ssh-agent -StartupType Automaticune invite PowerShell de super-utilisateur.

Davi Koscianski Vidal
la source
Pourriez-vous ajouter des détails sur la façon de démarrer automatiquement ssh-agent?
Mark Woon
@MarkWoon Je viens de modifier ma réponse avec ça.
Davi Koscianski Vidal
2
Cela ne semble pas fonctionner - le Set-Service n'a aucun effet apparent, et le Start-Service manuel, alors qu'il démarre quelque chose, est également inefficace - toute commande ssh-add échoue ensuite avec "la communication avec l'agent a échoué". .
Chris Dodd
1
* Dans le menu de démarrage, recherchez "Services" * Double-cliquez sur "OpenSSH Authentication Agent" * Réglez le type de démarrage sur "Automatique" * Cliquez sur "Démarrer" * Cliquez sur OK et quittez * * Maintenant, allez dans PowerShell et ajoutez votre clé avec "ssh -add "* Après cela, l'agent se souviendra de votre clé lorsque vous en aurez besoin :)
Esben Andersen