Join our Newsletter — 33% off our NHI Course

How should security teams implement just-in-time access for SSH across production systems without slowing engineers down?

Security teams should centralize requests, approvals, and time limits while keeping the workflow close to where engineers already work. The goal is to replace standing SSH access with short-lived access, clear ownership, and automated revocation. Pair identity groups with resource tags, delegate approvals to the right owners, and enforce MFA for approvers so access stays fast but controlled.

Why This Matters for Security Teams

JIT SSH access is not just a convenience feature. It is the practical replacement for standing administrative access on production systems, where every persistent key expands blast radius and every manual exception slows response. Security teams usually get this wrong by treating SSH as a fixed entitlement problem instead of a short-lived access problem tied to a specific task, host set, and time window.

That matters because production access is often used under pressure, and the control must still hold when the engineer is troubleshooting at 2 a.m. NHIMG’s Ultimate Guide to NHIs notes that 71% of NHIs are not rotated within recommended time frames, which is a useful reminder that static access tends to persist long after its original purpose. The same pattern appears in human-access workflows when approval paths become so painful that teams bypass them.

Current guidance from OWASP Non-Human Identity Top 10 and NIST control thinking is clear: access must be both least-privileged and time-bounded. In practice, many security teams first discover the weakness when an emergency bastion account is reused far beyond the incident that justified it, rather than through intentional review.

How It Works in Practice

Effective JIT SSH usually combines four elements: request, approval, short-lived credentialing, and automatic revocation. The request should be made from the engineer’s normal workflow, such as a ticket, chatops command, or privileged access portal, but the actual authorization decision should happen at runtime. That means evaluating the requester’s identity, the target system, the ticket context, the maintenance window, and whether the requested action fits policy. NIST SP 800-53 Rev. 5 is useful here because it anchors least privilege, access enforcement, and auditability in controls that are already familiar to security teams.

For SSH, the access primitive should be ephemeral. Instead of handing out reusable private keys, teams can issue short-lived certificates, proxy sessions, or brokered access tokens that expire automatically after the task completes. That aligns well with the NHI lifecycle model described in Guide to NHI Rotation Challenges, because the same discipline that reduces credential persistence for service accounts also reduces risk for administrative SSH paths. Approval should be delegated to the system owner or application owner, not a central queue that becomes a bottleneck, and MFA should be enforced for approvers so compromise of an approval account does not become a bypass.

  • Scope access to specific hosts or tags, not broad environments.
  • Limit session duration to the minimum workable TTL, then revoke automatically.
  • Record who approved, why access was granted, and what was touched.
  • Prefer break-glass paths only for true emergencies, with post-use review.

NHIMG research shows that secrets misuse and over-privilege are common drivers of identity failure, which is why SSH JIT should be treated as a core identity control rather than a helpdesk workflow. These controls tend to break down in highly distributed environments with unmanaged bastions, inconsistent host tagging, or legacy scripts that still depend on shared static keys.

Common Variations and Edge Cases

Tighter SSH control often increases workflow overhead, so organisations have to balance access speed against governance depth. That tradeoff becomes real in production incidents, on-call rotations, and mixed estates where some systems can support certificate-based SSH but others still require direct key distribution.

Best practice is evolving, and there is no universal standard for this yet, but the direction is consistent: move toward context-aware access decisions and away from static entitlements. If the platform can support it, use workload and user identity together, so the engineer’s approved request is paired with a cryptographically bounded session identity and a policy engine that evaluates each request in real time. This is more aligned with modern identity governance than treating SSH as a one-time exception.

Edge cases usually involve legacy automation, emergency access, or regulated environments with strict change windows. In those settings, teams may need a parallel path for break-glass access, but it should still be time-limited, logged, and reviewed after use. The key is not to eliminate friction everywhere, but to remove unnecessary friction from routine access while making exceptional access more visible. The Ultimate Guide to NHIs and the OWASP guidance both support the same operational point: durable access is the problem, not the engineer requesting it.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP Non-Human Identity Top 10, OWASP Agentic AI Top 10 and CSA MAESTRO address the attack and risk surface, while NIST AI RMF and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
OWASP Non-Human Identity Top 10 NHI-01 Addresses standing SSH credentials and overly persistent non-human access.
OWASP Agentic AI Top 10 A-04 Runtime access decisions map to dynamic authorization for goal-driven workloads.
CSA MAESTRO IAC-02 Supports just-in-time privileged access and bounded session enforcement for agents.
NIST AI RMF GOVERN Governance is needed for accountable, policy-driven access to autonomous systems.
NIST CSF 2.0 PR.AC-4 Least-privilege and access enforcement directly apply to SSH JIT controls.

Replace reusable SSH keys with short-lived, scoped credentials and revoke them immediately after use.