Agent Forwarding passes authentication capability through the jump host by relaying requests to the local ssh agent. ProxyJump forwards the SSH connection through an intermediary without exposing the local agent to the remote host. In practice, ProxyJump preserves the hop while reducing key exposure risk and keeping authentication control on the client side.
Why the distinction matters in multi-hop SSH
Both patterns solve the same routing problem, but they protect different trust boundaries. Agent Forwarding keeps your client-side ssh-agent in the authentication path across each hop, which means the intermediate host can ask your agent to sign requests while the session is active. ProxyJump, by contrast, uses the jump host only as a transport relay, so the remote machine does not gain a live channel to your agent. For sensitive environments, that difference directly changes exposure to credential abuse and session misuse.
This is why multi-hop access design is not just a convenience question. If the jump host is less trusted than the target environment, exposing agent capability to it can enlarge blast radius far beyond the one command the operator intended. The Ultimate Guide to NHIs – Key Challenges and Risks is useful here because the same pattern appears whenever a credential-bearing intermediary is allowed to relay authority instead of merely relaying traffic. In practice, many teams only discover the exposure after they have already normalised hop-by-hop trust.
How the two mechanisms behave in practice
Agent Forwarding works by forwarding authentication requests from the remote session back to the local agent on your workstation. The remote host never receives the private key itself, but it can use your agent as long as the forwarded channel stays open. That makes it handy for interactive administration, yet it also means a compromised hop can potentially abuse the forwarded capability for additional SSH connections.
ProxyJump behaves differently. The client opens an SSH connection to the jump host and then tunnels the next SSH connection through that transport path. Authentication still happens from the client side, which means the intermediary sees packets, not your agent. In effect, ProxyJump reduces the chance that a host in the middle can turn your login capability into a reusable trust relationship.
- Use Agent Forwarding only when the intermediate host is sufficiently trusted and the operational need is temporary.
- Prefer ProxyJump for routine bastion access because it preserves hop chaining without sharing agent reach.
- Review which keys your agent holds, because a forwarded agent can expose more access than the current SSH target suggests.
- Keep in mind that ProxyJump still depends on the jump host being available and well controlled, even though it does not expose the agent.
The practical boundary is simple, ProxyJump changes the path; Agent Forwarding changes who can ask your client to authenticate. These controls tend to break down when teams reuse a shared jump server for high-privilege administration and treat temporary forwarding as an acceptable default.
Common variations and edge cases
Tighter SSH control often increases operational friction, so teams balance convenience against exposure. That tradeoff becomes visible when automation, break-glass access, or legacy tooling expects agent-based workflows and has not been updated for jump-host transport patterns. Current guidance generally favours the least-exposed path that still supports the task, which usually points to ProxyJump for normal hop traversal.
A few edge cases matter. Some administrators confuse ProxyJump with direct tunnelling to the final host, but the security result is different: the jump host still participates in the connection, just without receiving agent access. Others assume Agent Forwarding is harmless because the private key never leaves the workstation, but the real question is whether the remote host can use the agent as an oracle while the session is live. That distinction becomes more important when the jump host is shared, hard to monitor, or reachable from less trusted networks.
The OWASP Non-Human Identity Top 10 is not about SSH specifically, but it reinforces the broader control principle that delegated access should be bounded, visible, and revocable. For teams managing privileged access paths, the same logic applies whether the holder is a person or a machine-mediated session. The 97% excessive-privilege figure in the Ultimate Guide to NHIs is a reminder that unchecked reach, not the transport method alone, is what usually creates the real problem.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
MITRE ATT&CK address the attack and risk surface, while CIS Controls v8 and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| CIS Controls v8 | 6 — Access Control Management | Controls SSH hop access and privileged pathways. |
| 8 — Audit Log Management | SSH hop access needs traceability for abuse detection. | |
| Recommendation — Restrict forwarded-agent use and review privileged access paths on jump hosts. Log jump-host SSH sessions and review agent-forwarding exceptions. | ||
| NIST CSF 2.0 | PR.AA — Identity Management, Authentication and Access Control | The question is about how SSH authentication capability is carried across hops. |
| PR.PT — Platform Security | SSH hop design affects exposure of the intermediary platform. | |
| Recommendation — Prefer the access path that preserves client-side authentication control. Use ProxyJump to reduce exposure of the intermediate host to authentication capability. | ||
| MITRE ATT&CK | T1021.004 — Remote Services: SSH | SSH multi-hop access is the direct technique being discussed. |
| Recommendation — Hunt for SSH relay patterns and constrain multi-hop administration paths. | ||
Practitioner Guidance
What to prioritise: Default to ProxyJump for multi-hop SSH and reserve Agent Forwarding for short-lived exceptions where the intermediate host is trusted and tightly controlled. If the jump host is shared, ephemeral, externally reachable, or difficult to audit, treat agent forwarding as a higher-risk choice.
What to verify: Confirm that forwarded-agent use is not being enabled globally in client configuration, and verify which automation or operator workflows actually depend on it. If the workflow only needs path traversal, ProxyJump is the cleaner design because it preserves authentication control on the client side.
Common mistake: Treating “the key never leaves my laptop” as sufficient assurance. The real control question is whether a remote host can invoke your authentication capability during the session, because that changes the blast radius of a compromise on the hop.
Practitioner takeaway: Use Agent Forwarding only when you intentionally want the intermediate host to participate in authentication, and use ProxyJump when you want the host to relay connectivity without inheriting your credential reach.
Related resources from NHI Mgmt Group
- What is the difference between governing human access and governing AI agent access?
- What is the difference between managing human access and managing agent access?
- What is the difference between human access reviews and agent access reviews?
- What is the difference between access review and agent governance?