Come impostare un nome server alias


15

Voglio impostare un nome server alias sul mio laptop (Linux). Io non voglio usare il /etc/hosts/file di dato che l'indirizzo IP dei cambiamenti server remoto . Il motivo per cui voglio farlo è perché il nome del server è lungo 27 caratteri. Voglio farlo:

ssh server

Invece di:

ssh server.subdomain.domain.com

Ho diversi sottodomini che utilizzo. Come lo installo?

PS: Non lo considero un duplicato perché altre risposte simili non affrontano il fatto che un indirizzo IP cambierà.


~/.ssh/confige /etc/resolve.cnfsotto sono entrambe le risposte eccellenti.
Jess

Risposte:


20

Usa il file ~/.ssh/config

contenuto di esempio:

Host jane
HostName long.server.name
User root

allora puoi usare ssh janeinvece dissh root@long.server.name

Se l'indirizzo IP cambia e non si conosce il revDNS di questo server, è possibile provare a utilizzare il comando in host 1.0.0.1cui 1.0.0.1 è l'indirizzo IP - questo ti darà il nome revDNS corrente che sarai in grado di configurare.

Se il nome host (DNS inverso) cambia con la modifica dell'ip o il tuo server è protetto da un NAT, puoi utilizzare Dynamic Dns (dyndns.org) e / o utilizzare il port forwarding.


7

Per usare il "server ssh" più corto invece di "ssh server.subdomain.domain.com" devi semplicemente aggiungere "subdomain.domain.com" al campo di ricerca in /etc/resolv.conf. Se non esiste un campo di ricerca, puoi crearne uno.

Ad esempio, supponiamo che il tuo /etc/resolv.conf sia simile al seguente:

cerca domain1.com domain2.com domain3.com
nameserver 1.2.3.4
nameserver 5.6.7.8

Modifica la riga di ricerca in modo che sia simile a questa:

cerca domain1.com domain2.com domain3.com sottodominio.dominio.com

Puoi posizionare subdomain.domain.com all'inizio di questo elenco se desideri che venga prima cercato.


1
Mi piace la tua risposta. Dal momento che consentirà l'uso del nome selezionatore del server su più applicazioni. Tuttavia, penso che potrebbe generare più traffico DNS ad ogni tentativo di connessione, ma non scommetterei su questo.
mnmnc,

1
Molti sistemi operativi moderni hanno la possibilità di memorizzare nella cache le risposte alle query DNS localmente. La prima volta che viene richiesto il record, la risposta verrebbe da dns, ma le risposte successive verrebbero risposte dalla cache fino alla scadenza del ttl del record. È possibile visualizzare il contenuto della cache in Windows con "ipconfig / displaydns" e con "sudo killall -INFO mDNSResponder" e quindi visualizzare il contenuto di /var/log/system.log su mac osx.
Utente 123456

Quindi suppongo che se la voce viene memorizzata nella cache e non scaduta - se a questo punto l'ip della destinazione cambia - otterrai il timeout della connessione. A meno che non mi manchi qualcosa?
mnmnc,


1

Puoi aggiungere un alias nel tuo .bashrco .zshrc:

alias server1='ssh server1'

Con server1 aggiunto nel tuo ~/.ssh/configad esempio:

Host server1
Hostname address
User username-on-this-server
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.