Se o seu cliente ssh for novo o suficiente, você pode usar a palavra-chave Match
do arquivo de configuração para ter uma configuração condicional baseada na porta de destino.
Match host somehost exec "test %p = 42"
IdentityFile ...
O exemplo acima só aplica a linha "IdentityFile" se o host de destino for "somehost" e a porta de destino for 42. Match
funciona como Host
em que as linhas que o seguem (até a próxima Correspondência ou Host line) aplicam-se apenas a sessões que correspondam aos critérios. No exemplo, a linha Match verifica se o host é "somehost" e também executa um comando externo que é considerado correspondente se o comando sair com status 0.
O comando que está sendo executado aqui é test %p = 42
. "% p" será substituído pelo valor de porta que o ssh usaria até aquele ponto (seja o padrão de 22 ou o valor da linha de comando). test
também é conhecido como [
; é um utilitário de linha de comando usado principalmente em scripts de shell como parte de uma instrução if
. Aqui, test
está sendo usado para testar se o número da porta é 42.
A palavra-chave Match
ssh_config foi adicionada ao OpenSSH na versão 6.5 ou 6.6. Verifique sua página ssh_config
man para ver se ela está disponível em seu sistema.