Hacker News new | past | comments | ask | show | jobs | submit login

Be careful; there are plenty of ways ssh-agent can bite you too. Here are a few: http://rabexc.org/posts/pitfalls-of-ssh-agents



This article can be boiled down to one common sense idea and one less obvious idea:

1. Don't put secret information on a machine where someone you don't trust has root.

2. Don't use agent forwarding unless you know you can trust the machine on the other end.

Since agent forwarding is not enabled by default, both of these seem pretty obvious to me.


It's still good info, I don't think it's obvious to most people. I was doing a pentest for a Fortune 500 company, and a key component of us compromising their entire network was a bastion host that controlled access to sensitive parts of their network. Turns out whoever controlled the machine made the rookie mistake of running a cron job as root that ran a non root-owned script, which enabled us to elevate and copy the ssh keys of a lot of IT staff.


Good insight. You should definitely be careful with forwarding.


Yes, be careful when using ForwardAgent and, more importantly, avoid using it altogether unless you absolutely need to!

Most "use cases" I've come across could have been solved "better" by simply using ProxyCommand instead. That was apparently too hard, though, so use of agent forwarding continued.

Since the introduction of ProxyJump a while back, however, it's now even easier to avoid using agent forwarding in most -- but not all -- cases.

So yes, be careful when using agent forwarding but, more importantly, as much as possible, just avoid using it entirely unless you absolutely must!


Sometimes I log into a machine and would like to ssh-clone a git repository there using the private key I've got on my local machine. Is there a way around forwarding my ssh-agent in this case?


IIRC this is how the matrix.org infrastructure compromise happened.


> 2. Don't use agent forwarding unless you know you can trust the machine on the other end.

This gets said a lot, but doesn't forcing a prompt every time the forwarded key gets used mitigate this? SSH is not like surfing on the web with traffic flowing everywhere all the time. If you did not just now run any commands that are expected to invoke SSH, you probably don't want to answer yes to that prompt.


> Don't use agent forwarding unless you know you can trust the machine on the other end.

On both ends. Agent hijacking can happen on client or server, with an attacker present. And is there any machine you can 'trust' ? That's a big ask, and I think the modern 'zero trust' is fundamentally averse to the concept.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: