Я могу настроить человечность для добавления домена в конец ssh запроса имени хоста?

У меня есть много серверов, и они все заканчивают тем же servers.company.net, так например, vded-xx-001.servers.company.net, и задавался вопросом, возможно ли сделать его так, я могу просто ввести vded-xx-001 и иметь его, добавляют servers.company.net автоматически?

Таким образом, я хотел бы ввести

ssh user@vded-xx-001

и имейте его, на самом деле соединяются с

ssh user@vded-xx-001.servers.company.net

Я попытался установить свою область поиска DNS на servers.company.net в/etc/network/interfaces, но это не достигло желаемого результата.

Кто-либо, который в состоянии указать на меня в правильном направлении?

Заранее спасибо

8
задан 16 April 2013 в 15:29

7 ответов

Вероятно, Вы уже решили это, но возможно позже это могло помочь кому-то: Вам не нужно к mees с Вашим resolv.conf, просто может использовать что-то вроде этого в Вашем ~/.ssh/config:

Host vded-*-001 test-*-something-fixed-*
        HostName %h.servers.company.net
        User someusername

Таким образом, позже можно просто использовать:

ssh vdev-alotofstuff-001
ssh vdev-somethingels-001
ssh test-02-something-fixed-somethingelse

С уважением,

18
ответ дан 16 April 2013 в 15:29

Решением моей проблемы было добавление поискового домена в resolv.conf:

search servers.company.net

Это позволило мне ввести

ssh user@vded-xx-001

для любого из моих серверов, и это подключиться к правильному адресу.

Спасибо @Hennes за ответ.

0
ответ дан 16 April 2013 в 15:29

Да, вы можете сделать это, создав файл конфигурации с именем ~/.ssh/config и введя следующее содержимое:

Host vded-xx-001
User user
Port 22
HostName vded-xx-001.servers.company.net

Теперь вам просто нужно набрать это (вам даже не нужно вводить имя пользователя) подробнее):

$ ssh vded-xx-001

Это также работает с утилитой командной строки scp:

$ scp filename vded-xx-001:/path/
0
ответ дан 16 April 2013 в 15:29

При использовании идентификационных данных SSH - и с этим много серверов, это стоит посмотреть на - затем, поскольку OrangeDog заявил, что установка CanonicaliseHostname и CanonicaliseDomains также включит соответствие к @cert-authority запись в известных хостах

known_hosts запись @cert-authority *.example.com ssh-rsa AAAddadfkjaeio...

без опций Canonicalise необходимо было бы использовать "ssh host.example.com"

, опции With Canonicalise "ssh myhost" будут соответствовать.

я добавил бы это как комментарий к ответу OrangeDogs, если представитель разрешил...

1
ответ дан 16 April 2013 в 15:29

Это самое простое решение. Он работает для всех хостов, не требует root или доступа к каким-либо системам DNS / resolver.

Добавьте в начало вашего файла ~/.ssh/config (или создайте, если он еще не существует):

CanonicalizeHostname yes
CanonicalDomains servers.company.net

Документация ( man 5 ssh_config ):

CanonicalizeHostname

Управляет выполнением явной канонизации имени хоста. По умолчанию no не выполняется перезапись имен и позволяет системному распознавателю обрабатывать все запросы на поиск имени хоста. Если установлено значение yes , то для соединений, которые не используют ProxyCommand , ssh попытается канонизировать имя хоста, указанное в командной строке, используя суффиксы CanonicalDomains и CanonicalizePermittedCNAMEs правила. Если CanonicalizeHostname всегда установлено на , то всегда , тогда канонизация применяется и к прокси-соединениям.

Если эта опция включена, то файлы конфигурации снова обрабатываются с использованием нового целевого имени, чтобы подобрать любую новую конфигурацию в соответствующих станциях Host и Match .

0
ответ дан 16 April 2013 в 15:29

Для общесистемного разрешения доменных имен мне нравится настраивать один раз в моей сети. Поэтому я установил в DHCP-сервере имя домена и DNS-сервер, чтобы он давал всем машинам право resolv.conf, включая

  • IP-адрес основного DNS-сервера
  • Домен
  • директива поиска

Это зависит от DHCP-сервера и конфигурации сети, которую вы хотите ... Лично мне не нравится пользовательская конфигурация машины, когда она является чем-то общим для сети

0
ответ дан 16 April 2013 в 15:29

Для быстрого решения, которое работает в разных программах, вы также можете настроить домен vded-xx-001 на перенаправление на определенный IP-адрес, отредактировав /etc/hosts, добавив в него такую ​​строку:

173.194.41.90  vded-xx-001

Это работает в вашем браузере: http://vded-xx-001/

А также с утилитами командной строки, такими как SSH:

$ ssh user@vded-xx-001

(лично я предпочитаю SSH config config) хотя.)

0
ответ дан 16 April 2013 в 15:29

Другие вопросы по тегам:

Похожие вопросы: