Есть ли способ ssh с использованием псевдонима имени хоста без изменения etc / hosts?

Я часами исследую, как я могу автоматизировать сотни хостов, которые все под одним локальным доменом. (я на машине ubuntu linux 17.04)

Например, у меня есть node1.domain.org, node2.domain.org, и список идет на node100.domain.org

практически невозможно отредактировать файл / etc / hosts, добавив все псевдонимы вручную.

Например,

127.0.0.1 localhost

127.0.1.1 harish

добавление псевдонимов хостов вручную

10.2.1.3 node1.domain.org node1

Следующие строки желательны для хостов с поддержкой IPv6

:: 1 ip6-localhost ip6-loopback

fe00 :: 0 ip6-localnet

ff00 :: 0 ip6-mcastprefix

ff02 :: 1 ip6-allnodes

ff02 :: 2 ip6-allrouters

Я попробовал ip route | grep default и обнаружил, что это шлюз 10.1.10.1, но не знаю, должен ли я быть на этом шлюзе или о каких-либо дальнейших шагах отсюда.

Я попробовал cat /etc/resolv.conf и обнаружил DNS-сервер, который я использую

cat /etc/resolv.conf[1241 impressionDynamic resolv. НЕ РЕДАКТИРУЙТЕ ДАННЫЙ ФАЙЛ вручную - ВАШИ ИЗМЕНЕНИЯ БУДУТ ПЕРЕЗАПИСАННЫМИ 127.0.0.53 - это преобразователь заглушек с разрешением systemd. запустите "systemd-resolve --status", чтобы увидеть подробности о фактических серверах имен.

nameserver 10.2.254.254 nameserver 8.8.8.8 nameserver 127.0.0.53

search domain.com

Я обнаружил DNS, что все мои узлы используют

xcat node1 dns

SERVER: 10.2.254.254 # 53 (10.2.254.254)

И DNS удаленного узла, и мой локальный компьютер совпадают.

Однако нет подсказки, почему именно domain.com в файле resolve.conf, а не domain.org, поскольку все узлы находятся под domain.org, а не domain.com (но он сказал, что он перезапишется, когда я попытаюсь его отредактировать Я попытался запустить sudo /etc/init.d/networking restart или sudo service network-manager restart после обновления его до domain.org, и файл был перезаписан). Я заметил, что SSH может использовать все псевдонимы, такие как node1 , без использования node1.domain. ssh node1 вместо ssh node1.domain.org или ssh node50 вместо ssh node50.domain.org или выполните ssh в любой узел, используя его псевдоним, не добавляя его вручную в / etc / hosts. Я просто хочу найти надежный способ сделать это.

-2
задан 4 May 2017 в 07:03
3 ответа

Այո, օգտագործիր ~ / .ssh / config

Host bsd1
        Hostname 10.9.9.2
        User bsduser
        Port 2243
Host web-backup
        Hostname www-backup.example.com
        User dauser
        Port 2229

Ըստ էության, յուրաքանչյուր Host հայտարարությունից հետո կարող ես օգտագործել գրեթե ցանկացած տարբերակ, որը վավեր կլինի համակարգում-մակարդակ ssh_config

Ապա պարզապես ssh- ի ցանկացած հատկորոշիչի համար, որը պետք է անեք -

user@darkstar:~/ $ ssh web-backup
dauser@www-backup.example.com's password:
4
ответ дан 5 December 2019 в 21:04

Իհարկե, օգտագործեք ձեր ssh հաճախորդի կազմաձևը (~ / .ssh / կազմաձև):

Host node1
    Hostname node1.domain.org
1
ответ дан 5 December 2019 в 21:04

Честно говоря, это легко.

В ~/.ssh/config:

Host node* server*
  Hostname %h.domain.org

Теперь каждый "узел" и "сервер" привязан к домену.

$ ssh node04 --> $ ssh node04.domain.org

$ ssh server12 --> $ ssh server12.domain.org

1
ответ дан 5 December 2019 в 21:04

Теги

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