Eu tenho duas plataformas com muitos servidores aos quais quero me conectar via ssh.
tenho no resolv.conf
search domain1.net domain2.org
Então eu só tenho o nome da máquina para digitar ssh.
Eu quero ter uma configuração ssh por domínio :
- administrador de usuário para cada máquina de domain1.net
- usuário root para cada máquina de domain2.org
Como posso conseguir isso?
As diretivas Host , Hostname parecem funcionar apenas com o que você digita no comando ssh, não com o que é expandido com sufixos DNS
Acredito que o OpenSSH PODE fazer canonização. Por favor, dê uma olhada nas seguintes opções na página man do ssh_config:
canonical
opçãoObserve que isso pode exigir uma versão OpenSSH mais recente do que a que você possui (eu tenho 7.4p1).
Como kasperd disse, isso não é realmente possível.
Algumas soluções alternativas:
Eu apenas uso algumas pequenas variáveis de shell para expandir
$e
paraexample.org
coisas que não acesso com tanta frequência. Outros são listados de~/.ssh/config
qualquer maneira com um nome curto. Você usa assim:Com isso, você pode usar o
~/.ssh/config
método padrão.Outra opção: Escreva um pequeno script wrapper ou função shell para ssh que capture o nome do host e o expanda, algo assim:
Se você chamá-lo com , ele se
sshwrapper.sh www
expandirá e usará isso para .www
www.example.org
ssh
apoiando o que @sven disse, uma pequena função bash pode fazer o mesmo:
Coloque isso em algum lugar em um de seus arquivos de origem, por exemplo, .profile, e está sempre corrigindo o nome da ordem de pesquisa em /etc/resolv.conf
outra abordagem que pode ser útil para outros utiliza (relativamente) novos recursos ssh_config que permitem incluir arquivos e até mesmo a inclusão pode ser condicional.
Vou apenas compartilhar um exemplo ofuscado da minha configuração que testa que, se
Em seguida, ele incluirá outro arquivo que roteará algumas coisas ssh pelo meu telefone
Você deve ser capaz de ter um ~/.ssh/domain1.ssh & ~/.ssh/domain2.ssh e incluir aqueles baseados em um teste de correspondência (seu teste obviamente seria personalizado)