Necesito iniciar sesión en varios servidores en el trabajo para hacer mi trabajo. Me estoy cansando de escribir el FQDN de un servidor para acceder. Me conecto / desconecto a través de ssh en nuestra propia red privada. Estoy 99% seguro de que está en nuestra propia red privada porque todos los servidores tienen ip addr 10.xyz ¿Hay alguna manera de ingresar a los servidores con solo el nombre de host y no el nombre de dominio?
Tenemos servidores en varios países. La forma en que se nombran nuestros servidores es muy larga. Se nombra de la siguiente manera:
hostname.country.domainname.com
Estoy recibiendo el túnel carpiano escribiendo
ssh [email protected]
... cada vez que accedo a uno de nuestros servidores. Si estoy en los EE. UU. Y trato de acceder a otro host que está en los EE. UU., Solo puedo escribir ssh me@hostname2y me conecto bien. Sin embargo, si estoy en los EE. UU. E intento conectarme a un servidor en Inglaterra, no puedo escribir ssh [email protected]ni conectarme a él hostname3.
La solución que hice fue configurar un alias en mi archivo ~ / .ssh / config para algunos de los servidores. Sin embargo, no creo que sea factible agregar más de 1000 servidores en ese archivo. Ya agregué más de 20 servidores y mis compañeros de trabajo piensan que estoy loco, aunque creo que están locos por escribir el FQDN cuando están jugando.
¿Hay alguna manera fácil de configurar algo para que no tengamos que escribir nuestro domainname.com cada vez?
fuente

$HOME/.ssh/configo puedes hacerlo en todo el sistema/etc/ssh/ssh_configuser@*.eng?ssh [email protected]y funcionará como se esperaba. Todo lo que hace es reescribir el componente del nombre de host. Incluso te permite trabajar conscpysftpy así sucesivamente.Si agregas
a
/etc/resolv.conf, y usarhostname.country,ssh(y otros programas de red, para el caso) se agregarán automáticamentedomainname.compara usted 1 .No creo que
searchsea una buena idea agregar dominios de país diferentes a su ruta porque puede tener un comportamiento inesperado si dos servidores en dos países diferentes comparten el mismo nombre de host 2Creo que este método es mejor que cambiar la
sshconfiguración porque permitehostname.countryresolverlo independientemente del programa que esté utilizando (telnet, VNC, ...).Ver
resolv.conf(5)1 Más exactamente, se agregará
domainname.comsi no se puede resolverhostname.countrypor sí solo.2 En tal escenario,
hostnamese resolverá en el servidor del país cuyo dominio aparece primero en lasearchruta.fuente
man resolv.confPuede usar la
CanonicalDomainsopción en su configuración ssh.Agregar lo siguiente a su archivo de configuración ssh hará que ssh intente agregar
domainname.coma cualquier host que tenga como máximo 1 punto en su nombre:Con esta configuración
ssh foo.eng, primero lo intentaráfoo.eng.domainname.comy recurrirá afoo.engsi no se puede encontrar el host. Del mismo modo,ssh github.comprimero lo intentaremosgithub.com.domainname.com, por lo que si desea conectarse a GitHub, su servidor DNS no debería devolver registros de hosts no existentes.Se
CanonicalizeMaxDotspuede usar para controlar cuántos puntos pueden aparecer en el nombre de host antes de que ssh lo considere totalmente calificado y no se agreguedomainname.com. el valor predeterminado es 1, que debería ser suficiente para usted dado el esquema que tiene actualmente, pero si alguna vez llega a algo asíhostname.city.country, necesitaría aumentarlo.fuente