ассоциировать имя с ip для ssh?

32

Допустим, у меня просто есть ip-адрес для сервера, и у меня нет домена с ним (это просто сервер базы данных, поэтому ему не нужен домен). Я не хочу каждый раз вспоминать IP-адрес, поэтому есть ли способ, которым я все еще мог бы использовать синтаксис вроде ssh username@databaseили что-то?

Мэтью
источник
Это ошибка в первую очередь в терминологии. Замените слово «домен» на правильное слово «имя», и вы сразу увидите его. «Я говорю, что серверу не нужно имя, поэтому я действительно хотел бы ссылаться на него по имени» - это внутреннее противоречие. Возможно, ваши настоящие вопросы должны звучать так: «Что такое домен? Как добавить новое имя в домен?»
Кубанчик

Ответы:

52

Если вы хотите использовать имя только для ssh и ssh, вы можете добавить имя в конфигурацию ssh в ~ / .ssh / config

Например, ваш конфигурационный файл может выглядеть так:

Host database
    HostName <real IP address or hostname here>
    User username

Затем вы можете ввести ssh databaseв командной строке и ssh автоматически сделает ssh username@ip.addressдля вас.

Дэвид
источник
Если в поле HostName я могу указать только имя хоста или IP-адрес, то как мне указать связь hostname-IP?
Рами Аль Зухури
1
@RamyAlZuhouri вы бы поместили имя хоста в поле Host, например, «база данных» в примере, и (просто) IP-адрес в поле HostName.
Дэвид
8

Добавьте запись для этого /etc/hostsв систему, из которой вы ssh'ing.

Синтаксис

1.1.1.1 hostname

Это работает на Linux и Mac. Для Windows файл есть c:\windows\system\drivers\etc\hosts.

PaulR
источник
1
Это определенно будет работать, но имейте в виду, что файл hosts иногда перезаписывается администраторами сети. Также вы должны иметь привилегии root, так что это вариант, только если у вас есть root.
Freedom_Ben
2

У клиентов есть 2 или 3 способа связать имя с IP-адресом.

1) DNS, но это подразумевает имя хоста и домен.

2) файл хоста, вы можете добавить любое имя в файл хоста клиента, и тогда он будет использоваться. Добавьте строку «192.168.1.1 база данных» в / etc / hosts, чтобы связать базу данных имен с адресом 192.168.1.1. См. Http://en.wikipedia.org/wiki/Hosts_%28file%29 для получения более подробной информации и конкретных местоположений ОС.

3) NIS, компьютеры Solaris могут использовать NIS для совместного использования имен хостов для нескольких клиентов.

Майк
источник
1
Или LDAP. Или mDNS. Или любой механизм с поддержкой NSS.
Игнасио Васкес-Абрамс
0

Вам нужно просто добавить databaseсопоставление имя-IP в ваш /etc/hostsфайл. Файл hosts можно легко редактировать. Вы найдете там несколько записей.

Это имя можно использовать для любого соединения, а не только для SSH.

Халед
источник
0

Создайте DynDNS , это бесплатно, через пять минут вы можете добавить запись A, которая указывает на ваш IP.

Например: создайте database1.dyndns.org как запись A, указывающую ваш ip.
Вы можете получить доступ отовсюду, используя:

ssh username@database1.dyndns.org

Матиас Доминони
источник