Skip to content

docs(proxy-agent): document SSH host key verification config#806

Open
mayankpande88 wants to merge 2 commits into
mainfrom
fix-docs-forager
Open

docs(proxy-agent): document SSH host key verification config#806
mayankpande88 wants to merge 2 commits into
mainfrom
fix-docs-forager

Conversation

@mayankpande88

Copy link
Copy Markdown
Contributor

Summary

Documents the user-facing config surface added in nudgebee/forager#79 — optional SSH host key verification.

Changes

In doc-server/docs/installation/proxy-agent/configuration.md:

  • Added known_hosts and host_key rows to the Datasource Fields table (SSH-only, optional).
  • Added a Host key verification subsection under SSH Datasource Notes: default insecure behavior, the two opt-in keys, precedence (known_hosts wins if both set), the startup warning when unset, and YAML examples for inline-pin and known_hosts-file modes.

The forager PR's HTTP SSRF fix is internal request-construction hardening with no operator-facing config surface, so no doc change is needed there.

Add known_hosts and host_key datasource fields and a host key
verification section reflecting nudgebee/forager#79.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the proxy agent configuration documentation to introduce SSH host key verification using the new known_hosts and host_key options. The review feedback suggests clarifying the description of the host_key field by referring to it as a standard SSH public key format rather than an authorized_keys-style key, which helps prevent confusion with client authentication.

| `credentials` | When `local` | Inline credential key-value pairs |
| `allowed_hosts` | No | List of CIDR ranges or hostnames for SSH dynamic mode (omit `host` to enable) |
| `known_hosts` | No | SSH only. Path to an OpenSSH `known_hosts` file used to verify the server host key (see [host key verification](#ssh-datasource-notes)) |
| `host_key` | No | SSH only. A single `authorized_keys`-style host public key line used to verify the server host key |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using the term authorized_keys-style might be confusing to users because authorized_keys is used for client authentication, whereas this field is for verifying the server's host key. It is clearer to refer to it as a standard SSH public key format.

Suggested change
| `host_key` | No | SSH only. A single `authorized_keys`-style host public key line used to verify the server host key |
| host_key | No | SSH only. A single SSH public key in standard format (e.g., ssh-ed25519 AAAAC3Nza...) used to verify the server host key |

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in c450c38 — reworded to 'standard SSH public key format'.

**Host key verification** — By default Forager does not verify the server host key, which leaves the connection unprotected against man-in-the-middle attacks. Set one of the following on the datasource to enable verification:

- `known_hosts` — path to an OpenSSH `known_hosts` file. Use this for fleets or when you maintain a shared host-key file.
- `host_key` — a single `authorized_keys`-style host public key line. Use this to pin one server's key inline.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For consistency and to avoid confusion with client authentication (authorized_keys), describe this as a standard SSH public key format.

Suggested change
- `host_key` — a single `authorized_keys`-style host public key line. Use this to pin one server's key inline.
- host_key — a single SSH public key in standard format (e.g., ssh-ed25519 AAAAC3Nza...). Use this to pin one server's key inline.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in c450c38 — reworded to 'standard SSH public key format'.

blue4209211
blue4209211 previously approved these changes Jun 3, 2026
Address review feedback: avoid 'authorized_keys'-style wording, which
could be confused with client authentication.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants