Re: ssh config file not working as I think the man page describes
Chris Green <cl@isbd.net> wrote:
> I have quite a long ~/.ssh/config file.
>
> I have been trying to rationalise it a bit and share bits that are
> common to several systems. So I have two sections referring to a
> host that I call 'caracal', the first is:-
>
> #
> #
> # Mythic Beasts hosting
> #
> Host mb caracal
> HostName caracal.mythic-beasts.com
> User chrisisbd
>
> ... and at the end of ~/.ssh/config:-
>
> #
> #
> # Options shared by non-root systems
> #
> Host cheddar halon caracal mb hostinger oasis41
> PermitLocalCommand=yes
> LocalCommand rsync --update --delete -a ~/.cfg/ %h:.cfg/
> AddKeysToAgent=yes
>
> #
> #
> # 'global' options
> #
> Host *
> User chris
> ~
> ~
>
> So, to my mind when I enter 'ssh caracal' at the command line the user
> name used by ssh should be chrisisbd as that's the first value for
> User that applies to caracal in the config file. But this isn't what
> happens, the user is set to 'chris':-
>
> chris$ ssh caracal
> chris@caracal.mythic-beasts.com's password:
>
>
> The man page for ssh_config says, right at the start: "For each
> parameter, the first obtained value will be used.". The caracal entry
> in the config file has definitely been found as ssh is trying to
> connect to caracal.mythic-beasts.com but the 'User chrisisbd' seems to
> be overriden by the 'User chris' at the bottom of the config file.
> Surely this isn't what the man page says?
>
It turned out that it was working as it should! What was confusing me
was that "LocalCommand rsync --update --delete -a ~/.cfg/ %h:.cfg/",
it was *that* using 'chris' rather than 'chrisisbd'. It was a simple
enough thing to fix, change it to:-
LocalCommand rsync --update --delete -a ~/.cfg/ %r@%h:.cfg/
%r is the 'remote user name' as was needed.
I.e the initial ssh was using 'chrisisbd' as it should, then the
LocalCommand was using 'chris' and failed. When configured correctly
I only get asked for the passphrase once because of the AddKeysToAgent
setting.
Sorry for the noise.
--
Chris Green
·
Reply to: