| Summary: | Inconsistent behaviour when using -i and -J options | ||
|---|---|---|---|
| Product: | Portable OpenSSH | Reporter: | Stephan Wonczak <wonczak> |
| Component: | ssh | Assignee: | Assigned to nobody <unassigned-bugs> |
| Status: | CLOSED WONTFIX | ||
| Severity: | normal | CC: | djm |
| Priority: | P5 | ||
| Version: | 8.7p1 | ||
| Hardware: | All | ||
| OS: | Linux | ||
|
Description
Stephan Wonczak
2022-10-24 23:04:57 AEDT
This is intentional - most command-line arguments are applied only to the destination (targethost in your example) and not the connection to the jumphost. This is noted in the manual page description for -J:
> Note that configuration directives supplied on the command-line
> generally apply to the destination host and not any specified
> jump hosts. Use ~/.ssh/config to specify configuration for jump
> hosts.
I still think this is inconsistent an unexpected behaviour. For one thing, the documentation in "man" for -J is far from clear, expecially in respect to the interactions with keys. If an explicit key is supplied by "-i" it should at least be offered to the jump host - as a user this is what I would expect. And in a way, this is the behaviour if I use ssh-agent to have a key in my local key purse. I see no reason why this should differ from supplying a key on the command line, especially when it is possible to use multiple "-i". This would also cover the case when the required key for the jump host differs from the key for the target host - simply supply both keys via -i. On the other hand it really is unexpected when an explicitly given (correct!) key is not even offered to the jump host. Well, it's definitely not inconsistent. Inconsistency would be some options being passed and others not - and we definitely don't want to unconditionally pass commandline options through. E.g. I'd almost never want -A passed through to the jump host. So we have to make a decision: pass no options and be consistent, or pass some options and be inconsistent. We chose consistency, because it's easier to reason about deterministically. OpenSSH 9.3 has been released. Close resolved bugs |