Agent skill · data analytics · steipete
ssh-doctor
SSH triage: Remote Login, launchd sshd, pre-auth closes, stale sessions.
Why this skill is useful
Provides specific SSH diagnostic commands and troubleshooting workflows that the AI wouldn't reliably generate on its own.
What it needs
About 2k tokens when loaded. Last updated 2026-08-06. 6,510 stars on the source repository.
What this skill does
SSH Doctor Use when SSH connects then closes before auth, Remote Login seems advertised but unusable, or local/remote Mac SSH needs diagnosis. Rules Do not print secrets, tokens, full env, or broad secret grep output. Validate locally first: loopback failure means server-side sshd/launchd/config; loopback success plus remote failure means network/firewall/filter/listen path. Report suspicious config lines before changing /etc/ssh/sshdconfig. Prefer non-interactive SSH: Baseline Use BatchMode=yes only when password fallback would hang or prompt. Config Suspicious: DenyUsers matching target user restrictive AllowUsers / AllowGroups Match block accidentally applying tiny MaxStartups tiny LoginGraceTime ListenAddress missing target interface Logs Important Mac symptom: client: kexexchangeidentification: Connection closed by remote host server log: Could not create new instance of inetd service: 67: Too many processes launchctl print system/com.openssh.sshd: high copy count many sshd-session: USER processes parented by PID 1 This means launchd accepted TCP but refused to spawn more sshd inetd copies. Stale sshd-session Fix Inspect first: If stale sessions are clearly stranded and blocking new SSH, terminate by selected command-line match: If TERM leaves blockers, re-check ownership and active shells before using KILL. Firewall Only after loopback works but remote fails: Also check listen address and target interface: OP Profile Block If asked to ensure ~/.profile has a Codex-managed OPSERVICEACCOUNTTOKEN copied from another host: verify exact variable/markers without printing value copy only the matching line/block redirect through a chmod 600 temp file never echo the token Presence check: Append from remote host: Closeout Report: root cause exact commands changed validation output, redacted as needed whether remote should retry
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills steipete/ssh-doctor