ssh to now gives ssh -o IdentitiesOnly=no before the host, next to -o IdentityAgent. With IdentitiesOnly yes in the user's ssh configuration, ssh listed the agent's key but never offered it, and the login failed with Permission denied. An option on the command line wins over the configuration, and the tool's agent holds only the derived key, so turning the option off adds no other key. A test against the stand-in ssh requires the option before the host, and the README's ssh to section names both options. Judgement call: a user's own -o IdentitiesOnly=yes after the host is now overridden. Model: opus-5-5 Co-authored-by: clawbot <sneak+clawbot@sneak.cloud>
This commit was merged in pull request #85.
This commit is contained in:
@@ -225,11 +225,15 @@ first, or pass `-o StrictHostKeyChecking=accept-new` after `--`.
|
||||
|
||||
Derives the key, serves it from an SSH agent that runs inside the tool on a unix
|
||||
socket in a new private `0700` temporary directory, then runs the system `ssh`
|
||||
with `-o IdentityAgent=<that socket>` followed by the host and all remaining
|
||||
arguments unchanged. The tool exits with `ssh`'s exit status and removes the
|
||||
socket and directory on the way out. The private key is never written to disk. A
|
||||
SIGINT, SIGTERM or SIGHUP ends `ssh` and still removes the socket and directory,
|
||||
and the tool then exits with status 1 unless `ssh` reported one of its own.
|
||||
with `-o IdentityAgent=<that socket> -o IdentitiesOnly=no` followed by the host
|
||||
and all remaining arguments unchanged. Without `IdentitiesOnly=no`, an
|
||||
`IdentitiesOnly yes` in the user's `ssh` configuration keeps the derived key
|
||||
from being offered. The agent holds no other key, so turning it off adds nothing
|
||||
else to what `ssh` offers. The tool exits with `ssh`'s exit status and removes
|
||||
the socket and directory on the way out. The private key is never written to
|
||||
disk. A SIGINT, SIGTERM or SIGHUP ends `ssh` and still removes the socket and
|
||||
directory, and the tool then exits with status 1 unless `ssh` reported one of
|
||||
its own.
|
||||
|
||||
## age identities: `keyfunc age`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user