Suponho que você tenha suas razões para usar -o User=abc -o HostName=myhost
over abc@myhost
.
… however the remote
sshd
is interpreting the value as auser@host
and appears to …
Não, acho que é o seu local ssh
que interpreta isso.
No meu Debian, o primeiro argumento que não pode ser interpretado como uma opção é interpretado por ssh
as host
ou user@host
, dependendo se o @
está lá ou não. Depois disso, nenhum outro argumento é interpretado dessa maneira, mesmo que haja @
nele.
Agora algumas observações:
-
user
deuser@host
tem precedência sobre-o User=abc
, - mas
host
(autônomo ou deuser@host
) é suprimido por-o HostName=myhost
.
Conclusão: ao usar -o HostName=myhost
, host
não importa. Isso possibilita o seguinte:
ssh -i id_rsa_mykey -o User=abc -o HostName=myhost dummy_host foo@bar
Graças à presença de dummy_host
, foo@bar
é passado para o lado remoto como um comando, mesmo que inclua @
character. Ainda ssh
conecta-se a myhost
, não dummy_host
, porque -o HostName=myhost
tem precedência.
Nota: dummy_host
pode ou não ser myhost
. Pode até estar em branco ( ""
).