Dado o seguinte ssh.cfg
:
Host bastion
Hostname xx.yyy.169.100
User ubuntu
IdentityFile ./the-key.pem
Host 10.250.*.*
ProxyJump %r@bastion
User core
IdentityFile ./the-key.pem
A tentativa de se conectar ao servidor por meio do bastion
está falhando, porque o ssh aplica o nome de usuário errado:
$ ssh -vvF ssh.cfg 10.250.198.76
...
debug1: Reading configuration data ssh.cfg
debug1: ssh.cfg line 1: Applying options for bastion
debug2: resolve_canonicalize: hostname xx.yyy.169.100 is address
debug2: ssh_connect_direct
debug1: Connecting to xx.yyy.169.100 [xx.yyy.169.100] port 22.
debug1: Connection established.
debug1: identity file ./the-key.pem type -1
debug1: identity file ./the-key.pem-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.9
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
debug1: match: OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 pat OpenSSH_7.0*,OpenSSH_7.1*,OpenSSH_7.2*,OpenSSH_7.3*,OpenSSH_7.4*,OpenSSH_7.5*,OpenSSH_7.6*,OpenSSH_7.7* compat 0x04000002
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to xx.yyy.169.100:22 as 'core'
...
Eu esperava que o ssh aplicasse o ubuntu
usuário quando estiver se conectando ao bastião e só aplicaria core
o usuário quando estiver se conectando ao servidor de destino.
Tem como configurar do jeito que eu quero?
A
%r
parte da suaProxyJump
entrada está sendo substituída pelo nome de usuário da máquina remota na qual você está tentando acessar (core
). Você só precisa:ProxyJump bastion
para que ele use o nome de usuário padrão para sua
bastion
entrada. Consulte o Livro de receitas do OpenSSH para obter mais informações.