Eu tenho a seguinte configuração no meu ~ / .ssh / config
match host devbox
compression yes
user hari
port 22
hostname 192.168.9.7
match originalhost devbox exec "~/.ssh/check_if_outside_home.sh"
hostname devbox.harisund.com
A ideia é esta -
- Sempre conecte-se a 192.168.8.15 (isso funcionará se eu já estiver na rede doméstica)
- Conecte-se ao devbox.harisund.com, se eu não estiver dentro da LAN doméstica
No entanto, com o log detalhado, vejo isso -
1 OpenSSH_7.2p2 Ubuntu-4ubuntu2.2, OpenSSL 1.0.2g 1 Mar 2016
2 debug1: Reading configuration data /home/hsundararaja/.ssh/config
3 debug2: checking match for 'host devbox' host devbox originally devbox
4 debug3: /home/hsundararaja/.ssh/config line 734: matched 'host "devbox"'
5 debug2: match found
6 debug2: checking match for 'originalhost devbox exec "~/.ssh/check_if_outside_home.sh"' host 192.168.9.7 originally devbox
7 debug3: /home/hsundararaja/.ssh/config line 744: matched 'originalhost "devbox"'
8 debug1: Executing command: '~/.ssh/check_if_outside_home.sh'
9 debug1: permanently_drop_suid: 14741
10 debug3: command returned status 0
11 debug3: /home/hsundararaja/.ssh/config line 744: matched 'exec "~/.ssh/check_if_outside_home.sh"'
12 debug2: match found
13 debug1: /home/hsundararaja/.ssh/config line 839: Applying options for *
14 debug1: Reading configuration data /etc/ssh/ssh_config
15 debug1: /etc/ssh/ssh_config line 19: Applying options for *
16 debug2: resolving "192.168.9.7" port 22
17 debug2: ssh_connect_direct: needpriv 0
18 debug1: Connecting to 192.168.9.7 [192.168.9.7] port 22.
19 debug2: fd 3 setting O_NONBLOCK
20 debug1: connect to address 192.168.9.7 port 22: Connection timed out
21 ssh: connect to host 192.168.9.7 port 22: Connection timed out
Na linha 4, ele detecta a primeira estrofe em ~ / .ssh / config. Neste ponto, o nome do host é alterado para 192.168.9.7. Tudo bem até agora.
Na linha 7, alcança a segunda estrofe.
Na linha 8, verifica se estamos fora de casa e retorna 0. Como esperado.
A linha 12 diz que é uma correspondência, o que significa que devemos mudar nosso nome de host para devbox.harisund.com
No entanto, na linha 16, vemos que ainda está usando o nome do host local como foi definido.
Por quê? Esse comportamento é esperado?