Preciso fazer login em vários servidores no trabalho para concluir meu trabalho. Estou cansado de digitar o FQDN de um servidor para acessar. Estou efetuando login / logout via ssh em nossa própria rede privada. Tenho 99% de certeza de que está em nossa própria rede privada, porque todos os servidores têm endereço IP 10.xyz. Existe uma maneira de ssh em servidores com apenas o nome do host e não o nome do domínio?
Temos servidores em vários países. A maneira como nossos servidores são nomeados é muito longa. É nomeado da seguinte forma:
hostname.country.domainname.com
Estou recebendo o túnel do carpo digitando
ssh [email protected]
... sempre que acesso um de nossos servidores. Se eu estiver nos EUA e tentar acessar outro host que esteja nos EUA, basta digitar ssh me@hostname2
e me conectar bem. No entanto, se estou nos EUA e tentar me conectar a um servidor na Inglaterra, não consigo digitar ssh [email protected]
e me conectar hostname3
.
A solução alternativa que fiz foi configurar um alias no meu arquivo ~ / .ssh / config para alguns servidores. No entanto, não acho viável adicionar mais de 1000 servidores a esse arquivo. Eu já adicionei mais de 20 servidores e meus colegas de trabalho acham que eu sou louco, embora eu ache que eles são loucos por digitar o FQDN quando estão procurando.
Existe uma maneira fácil de configurar algo para que não tenhamos que digitar nosso domainname.com toda vez?
fonte
$HOME/.ssh/config
ou você pode fazê-lo de todo o sistema em/etc/ssh/ssh_config
user@*.eng
?ssh [email protected]
e funcionará conforme o esperado. Tudo isso é reescrever o componente hostname. Ele vai mesmo trabalhar comscp
esftp
e assim por diante.Se você adicionar
para
/etc/resolv.conf
, ea utilizaçãohostname.country
,ssh
(e outros programas de rede, para que o assunto) será automaticamente anexardomainname.com
para você 1 .Não acho que a adição de domínios de países diferentes ao seu
search
caminho seja uma boa ideia, pois você pode ter um comportamento inesperado se dois servidores em dois países diferentes compartilharem o mesmo nome de host 2Acredito que esse método é melhor do que alterar a
ssh
configuração, pois isso permitehostname.country
resolver independentemente do programa que você está usando (telnet
, VNC, ...).Vejo
resolv.conf(5)
1 Mais precisamente, ele será anexado
domainname.com
se não puder ser resolvidohostname.country
por si só.2 Nesse cenário
hostname
, o servidor será resolvido no país cujo domínio está listado primeiro nosearch
caminho.fonte
man resolv.conf
Você pode usar a
CanonicalDomains
opção na sua configuração ssh.Adicionar o seguinte ao seu arquivo de configuração ssh fará com que o ssh tente anexar
domainname.com
a qualquer host que tenha no máximo 1 ponto em seu nome:Com esta configuração
ssh foo.eng
, tentará primeirofoo.eng.domainname.com
e faça o fallback parafoo.eng
se o host não puder ser encontrado. Da mesma forma,ssh github.com
você tentará primeirogithub.com.domainname.com
; portanto, se você deseja se conectar ao GitHub, seu servidor DNS não deve retornar registros para hosts inexistentes.O
CanonicalizeMaxDots
pode ser usado para controlar quantos pontos podem aparecer no hostname antes ssh considera totalmente qualificado e não acrescentardomainname.com
. o padrão é 1, o que deve ser suficiente para você, considerando o esquema que você possui atualmente, mas se você chegar a algo comohostname.city.country
isso, precisará aumentá-lo.fonte