Как настроить псевдоним сервера

15

Я хочу настроить псевдоним сервера на моем ноутбуке (Linux). Я не хочу использовать /etc/hosts/файл, так как IP-адрес удаленного сервера изменяется . Причина, по которой я хочу это сделать, заключается в том, что имя сервера имеет длину 27 символов. Я хочу сделать это:

ssh server

Вместо того:

ssh server.subdomain.domain.com

У меня есть несколько поддоменов, которые я использую. Как мне это настроить?

PS: я не считаю это обманом, потому что другие подобные ответы не учитывают тот факт, что IP-адрес изменится.

Джесс
источник
~/.ssh/configи /etc/resolve.cnfниже оба отличные ответы.
Джесс

Ответы:

20

Использовать файл ~/.ssh/config

пример содержания:

Host jane
HostName long.server.name
User root

тогда вы можете использовать ssh janeвместоssh root@long.server.name

Если IP-адрес изменяется, и вы не знаете revDNS этого сервера, вы можете попробовать использовать команду, host 1.0.0.1где 1.0.0.1 - это IP-адрес - это даст вам текущее имя revDNS, которое вы сможете настроить.

Если имя хоста (обратный DNS) изменяется с изменением ip или ваш сервер находится за NAT - вы можете использовать Dynamic Dns (dyndns.org) и / или использовать переадресацию портов.

mnmnc
источник
7

Чтобы использовать более короткий «ssh сервер» вместо «ssh server.subdomain.domain.com», вам просто нужно добавить «subdomain.domain.com» в поле поиска в /etc/resolv.conf. Если нет поля поиска, вы можете создать его.

Например - предположим, что ваш /etc/resolv.conf выглядит так:

поиск domain1.com domain2.com domain3.com
nameserver 1.2.3.4
nameserver 5.6.7.8

Измените строку поиска, чтобы она выглядела так:

поиск domain1.com domain2.com domain3.com subdomain.domain.com

Вы можете поместить subdomain.domain.com в начале этого списка, если вы хотите, чтобы его сначала искали.

User123456
источник
1
Мне нравится твой ответ. Так как это позволит использовать сортировщик имени сервера в нескольких приложениях. Тем не менее, я думаю, что он может генерировать больше трафика DNS с каждой попыткой подключения - но я бы не стал на это ставить.
mnmnc
1
Многие современные операционные системы имеют возможность кэшировать ответы на DNS-запросы локально. При первом запросе на запись ответ приходит от dns, но последующие запросы будут получать ответы из кэша до истечения времени ttl записи. Вы можете просмотреть содержимое кэша в Windows с помощью «ipconfig / displaydns» и «sudo killall -INFO mDNSResponder», а затем просмотреть содержимое /var/log/system.log на Mac OSX.
Пользователь123456
Поэтому я предполагаю, что если запись кэшируется и ее срок действия не истек - если в этот момент ip адресата изменяется - вы получите тайм-аут соединения. Если я что-то упустил?
mnmnc
1

Если это только для ssh, вы можете настроить «сокращенное» имя в ~/.ssh/config

После этого ssh serverкаждый раз будет работать, предполагая, что fqdn преобразуется в IP-адрес.

Для получения дополнительной информации см. Http://kb.mediatemple.net/questions/1625/Using+an+SSH+Config+File или справочную страницу для ssh_config.

EWM
источник
1

Вы можете добавить псевдоним в свой .bashrcили .zshrc:

alias server1='ssh server1'

С добавленным server1 в вашем ~/.ssh/configпримере:

Host server1
Hostname address
User username-on-this-server
Atropo
источник