SSH Agent Forwarding Mac / Windows

When I was starting in development workflow (github, terminal deployment, database migration, etc) my main headache was getting SSH Agent Forwarding  to work for me.  For Mac is actually pretty easy, so lets start with that:

First if you have multiple keys on your system the fist thing to do is add the keys you want the agent to use:

ssh-add *address_to_your_key*

Where *address_to_your_key* is the path to where your private key is stored.

Then let just make sure we enable the agent, we need to modify your ssh config you can do that by typing

vi ~/.ssh/config

Then just add the following to the file if you want to enable ssh key forwarding to all servers, this means your key will be send to every server you connect and I don’t recommend it, but is a dirty way to save time: 

Host *
ForwardAgent yes

The best way to do it  is adding a line to that same file for each domain or IP

Host 192.158.22.12
ForwardAgent yes

Just take into consideration you need to add the domain and the IP, because if you only add the IP and then connect using the domain the key won’t be sent, same thing on the opposite case

Host mysshserver.dev
ForwardAgent yes

You can also use a lot more configuration on each snippet

Host ssh1
     HostName mysshserver.dev
     User nixcraft
     Port 4242
     IdentityFile *any_key_you_want*
     ForwardAgent yes

This will allow you to connect easily to that server using

ssh ssh1

But also setting the user if it is different than your local user, setting a special key just for that server and changing the port if required.

 

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *