SSH ForwardAgent

Wanneer je werkt met versiebeheer tools als Git, bijvoorbeeld via github.com of bitbucket.org, kun je kiezen om de repo's binnen te halen via een https of ssh protocol. Als je kiest voor https, dan zal je bij iedere push of pull je wachtwoord moeten intypen. Op zich natuurlijk geen probleem, maar het kan veel sneller!

Door gebruik te maken een SSH public key machtig je als het ware je computer om te mogen communiceren met de dienst waar je repo's gehost staan. Omdat dit artikel niet gaat over het machtigen van je computer via SSH verwijs ik voor het gemak even door naar deze tutorial van Atlassian (Bitbucket), let op: de tutorial is in het Engels geschreven! Wanneer je alle stappen succesvol doorlopen hebt, zal je computer niet langer voor je wachtwoord vragen wanneer je gegevens naar je Git-provider wilt pushen of pullen.

Echter, wanneer je nu verbinding maakt met je staging/production server zul je nog steeds je wachtwoord moeten indienen. Dit komt omdat tijdens het aanmaken van de SSH verbinding met je server jouw publieke key niet gedeeld wordt, laat dit nu net zijn waar ForwardAgent bij van pas gaat komen! De ForwardAgent is instellen die aangeeft dat jouw publieke SSH sleutel gedeeld wordt met een bepaalde host en die er zodoende voor zorgt dat je ook op de ingestelde server(s) geen wachtwoord meer hoeft in te vullen.

Genoeg tekst, hier volgt de uitleg. Als eerste dien je je SSH configuratie aan te passen, dit doe je bijvoorbeeld met het commando nano ~/.ssh/config. Waarschijnlijk is dit bestand nog leeg, voeg nu voor iedere server de volgende regels toe aan je config bestand:

Host example.com
  ForwardAgent yes

Je kunt example.com ook vervangen door een IP adres, het hangt maar net af van de wijze waarop je verbinding maakt met je server. Reboot voor alle zekerheid even je Terminal applicatie en probeer vervolgens in te loggen via SSH naar je server zoals je dit normaal doet. Als alles goed is gegaan hoef je niet langer je wachtwoord in te typen bij het pushen of pullen! Het grote voordeel hiervan is dat je ook niet langer aparte of je eigen SSH keys hoeft toe te voegen aan de server en Bitbucket.

Je kunt de hostnaam ook vervangen door een * (wildcard), ga echter tegen de verleiding in: wanneer je dit doet zul je je publieke SSH key delen met iedere SSH verbinding die je maakt en kan de ontvangende server deze gebruiken zolang de verbinding actief is. Vergeet daarnaast niet voor de veiligheid op zijn minst jaarlijks je SSH key te vernieuwen!

Een uitbebreidere uitleg is (in het Engels) hier te vinden.

Share

SSH ForwardAgent Atlassian.com

Reageren?

Reageer gerust als er vragen of opmerkingen zijn, we horen niets liever dan de reacties van onze klanten en volgers om ervoor te zorgen dat we scherp blijven!