[Bug 3026] ssh -F does not work as expected
bugzilla-daemon at bugzilla.mindrot.org
bugzilla-daemon at bugzilla.mindrot.org
Sat Jun 29 09:50:26 AEST 2019
https://bugzilla.mindrot.org/show_bug.cgi?id=3026
--- Comment #2 from Evans Tucker <evans.tucker at gmail.com> ---
It seems like the reality is a little more complicated. I'm seeing this
behavior through a ProxyCommand. Here's what I'm seeing. Note that
after creating a ~/.ssh/config with "IdentitiesOnly yes", I get a
password prompt even though I'm specifying "-F ssh-bastion.conf" on the
command line:
$ cat ssh-bastion.conf
Host 52.47.157.242
Hostname 52.47.157.242
StrictHostKeyChecking no
ControlMaster auto
ControlPath ~/.ssh/ansible-%r@%h:%p
ControlPersist 5m
Host 10.250.204.35
ProxyCommand ssh -o StrictHostKeyChecking=no -o
UserKnownHostsFile=/dev/null -W %h:%p core at 52.47.157.242
$ cat ~/.ssh/config
cat: /home/evans/.ssh/config: No such file or directory
$ ssh -F ssh-bastion.conf core at 10.250.204.35 echo hi
Warning: Permanently added '52.47.157.242' (ECDSA) to the list of known
hosts.
hi
$ echo 'IdentitiesOnly yes' > ~/.ssh/config$ ssh -F ssh-bastion.conf
core at 10.250.204.35 echo hi
Warning: Permanently added '52.47.157.242' (ECDSA) to the list of known
hosts.
Password:
Here's debug output showing that it says it's only loading
ssh-bastion.conf, but it's definitely behaving like it's reading
~/.ssh/config. You can see that the command goes through after I delete
~/.ssh/config even though I'm specifying "-F ssh-bastion.conf":
$ ssh -vvv -F ssh-bastion.conf core at 10.250.204.35 echo hi |& egrep
'(config|hi)'
debug1: Reading configuration data ssh-bastion.conf
Password:
$ rm ~/.ssh/config
$ ssh -vvv -F ssh-bastion.conf core at 10.250.204.35 echo hi |& egrep
'(config|hi)'
debug1: Reading configuration data ssh-bastion.conf
debug1: Sending command: echo hi
hi
$
AHA! OK, I just figured it out... The ProxyCommand doesn't have "-F"
specified. If I put "-F /dev/null" in the ProxyCommand, things work as
expected!
$ cat ssh-bastion.conf
Host 52.47.157.242
Hostname 52.47.157.242
StrictHostKeyChecking no
ControlMaster auto
ControlPath ~/.ssh/ansible-%r@%h:%p
ControlPersist 5m
Host 10.250.204.35
ProxyCommand ssh -vvv -F /dev/null -o StrictHostKeyChecking=no -o
UserKnownHostsFile=/dev/null -W %h:%p core at 52.47.157.242
$ echo 'IdentitiesOnly yes' > ~/.ssh/config
$ ssh -vvv -F ssh-bastion.conf core at 10.250.204.35 echo hi |& egrep
'(config|hi)'
debug1: Reading configuration data ssh-bastion.conf
debug1: Reading configuration data /dev/null
debug1: Sending command: echo hi
hi
Problem solved. Overly complex SSH config. I'll make push a bugfix to
kubespray to have them add "-F /dev/null" to ProxyCommand in their
ssh-bastion.conf file.
--
You are receiving this mail because:
You are watching the assignee of the bug.
More information about the openssh-bugs
mailing list