eitri is the only thing that can dial an eitri guest: SSHArgv never emits ssh_config
open by a73x
eitri is the only thing that can dial an eitri guest. `SSHArgv` (internal/cli/sshcmd.go:34) builds a complete system-ssh argv — gate hop as an explicit ProxyCommand, pinned CA known_hosts, strict checking, the namespaced <tenant>.<vm> connect name — and then execs it. Every input is already resolved there; none of it is ever emitted. So `eitri ssh <vm> [remote command]` works, and nothing else does. rsync, scp, sftp, git-over-ssh, sshfs, VS Code Remote and any agent harness that shells out to `ssh user@host` cannot reach a guest, because they build their own argv and have no way to learn the gate hop. Proposal: teach eitri to emit the same connection as ssh_config — a `Host` block with the ProxyCommand, UserKnownHostsFile, IdentityFile and StrictHostKeyChecking that SSHArgv already computes — so the existing tools work unmodified. Shape is open: `eitri ssh --print-config`, an Include-able file `eitri init` writes, or both. SSHArgv stays the single source of the argv shape; the emitter is a second rendering of the same resolved Env, and the existing table tests should cover both renderings together so they cannot drift. Worth a cheap spike first: rsync invokes `<rsh> <host> <remote-cmd>` and GIT_SSH_COMMAND is invoked the same way, which is coincidentally the exact shape of `eitri ssh <vm> <cmd>`. `rsync -e "eitri ssh"` and `GIT_SSH_COMMAND="eitri ssh"` may already work by accident. Unverified. If they do, that is worth documenting either way, and it does not cover scp/sftp/sshfs or anything that parses ssh_config. Why it matters now: this is the barrier to getting code onto a guest, and it is not a storage problem. It blocks the durable-workspace work from being useful, and it is what would let an external agent harness route its tools into an eitri guest with zero eitri-specific code.