У меня много серверов, и все они заканчиваются одним и тем же server.company.net, например, vded-xx-001.servers.company.net, и мне было интересно, можно ли это сделать, чтобы я мог просто набрать vded- xx-001 и он автоматически добавляет серверы.company.net?
Так что я хотел бы напечатать
ssh user@vded-xx-001
и это на самом деле подключиться к
ssh user@vded-xx-001.servers.company.net
Я попытался установить свой домен DNS-поиска для Servers.company.net, в / etc / network / interfaces, но это не дало желаемого результата.
Кто-нибудь может указать мне правильное направление?
заранее спасибо
networking
server
ssh
hostname
Тим Лесси Фриборн
источник
источник
search company.net
/etc/resolv.conf?/etc/network/interfaces
(используяdns-search
опцию), либо в поле конфигурации соединения NetworkManagerSearch domains
.Ответы:
Возможно, вы уже решили это, но, возможно, позже это может кому-то помочь: вам не нужно возиться с вашим
resolv.conf
, просто можете использовать что-то вроде этого в вашем~/.ssh/config
:Так что позже вы можете просто использовать:
источник
Host vded-*.servers.company.net
с помощьюHostname %h
. Затем во второй записиHost vded-*
соHostname %h.servers.company.net
всеми другими параметрами, такими как User, IdentityFile и т. Д.Это самое простое решение. Он работает для всех хостов, не требует root или доступа к каким-либо системам DNS / resolver.
Добавьте в начало вашего
~/.ssh/config
файла (или создайте, если он еще не существует):Документация (
man 5 ssh_config
):источник
CanonicalDomains
его, он будет работать только в поисковом домене текущей сети. Если вы сделаете (и можете перечислить несколько), то это будет работать для разрешения всех этих имен хостов в любой сети, к которой вы можете подключиться.Да, вы можете сделать это, создав файл конфигурации с именем
~/.ssh/config
и введя следующее содержимое:Теперь вам нужно просто напечатать это (вам даже не нужно имя пользователя):
Это также работает с утилитой командной строки
scp
:источник
Решением моей проблемы было добавить поисковый домен в
resolv.conf
:Это позволило мне войти
для любого из моих серверов, и он подключается к правильному адресу.
Спасибо @Hennes за ответ
источник
dns-search servers.company.net
строку в раздел для внешнего сетевого интерфейса устройства. NM : Добавьтеservers.company.net
вSearch domains
поле на вкладке IPv4 для подключения./etc/resolv.conf
нет символьной ссылки,../run/resolvconf/resolv.conf
запустите,sudo dpkg-reconfigure resolvconf
чтобы восстановить символическую ссылку.Если вы используете SSH-идентификаторы - и с таким количеством серверов это стоит посмотреть - тогда, как сказал OrangeDog, установка CanonicaliseHostname и CanonicaliseDomains также разрешит совпадение с записью @ cert-Authority на ваших известных хостах.
known_hosts entry @ cert-author * .example.com ssh-rsa AAAddadfkjaeio ...
без опций Canonicalise вам нужно будет использовать "ssh host.example.com"
С опциями Canonicalise "ssh myhost" будет соответствовать.
Я бы добавил это как комментарий к ответу OrangeDogs, если бы представитель позволял ...
источник
Для быстрого решения, которое работает в разных программах, вы также можете настроить
vded-xx-001
перенаправление домена на определенный IP-адрес, изменив/etc/hosts
строку так:Это работает в вашем браузере:
http://vded-xx-001/
Как и с утилитами командной строки, такими как SSH:
(Я лично предпочитаю конфигурационное решение SSH, хотя.)
источник
Для общесистемного разрешения доменных имен мне нравится настраивать один раз в моей сети. Таким образом, я установил в DHCP-сервере имя домена и DNS-сервер, чтобы он давал всем машинам право,
resolv.conf
включаяЭто зависит от DHCP-сервера и конфигурации сети, которую вы хотите ... Мне лично не нравятся пользовательские настройки компьютера, когда это что-то общее для сети
источник