4

Мне постоянно приходится набирать ssh myusername@somereallylonghost.numb3r5.ojd202nk.net . Вместо псевдонима я просто хочу сократить это имя хоста. Я попытался отредактировать мой файл hosts, добавив в него shorthost somereallylonghost.numb3r5.ojd202nk.net , но он не разрешается, когда я пытаюсь подключиться как ssh myusername@shorthost . Кто-нибудь может сказать мне, почему?

3 ответа3

9

Вместо этого используйте файл конфигурации ssh. Путь к файлу ~/.ssh/config .

Пример конфигурации:

Host shorthost
  User myusername
  HostName somereallylonghost.numb3r5.ojd202nk.net

Тогда вы можете просто запустить ssh shorthost .

5

Пожалуйста, примите решение @ ggustafsson. Но так как вы спросили, почему /etc/hosts не работает, и он не охватил это, я подумал, что рассмотрю это:

/etc/hosts предназначен для сопоставления одного или нескольких имен хостов с IP-адресом. Это не для сопоставления одного имени другому. Поскольку он не предназначен для того, что вы ищете, он не предоставляет синтаксиса для того, что вы хотите. Синтаксис, который вы создали, не имеет смысла / недопустим для процесса, который читает /etc/hosts , который ожидает, что каждая строка начинается с числового IP-адреса.

2

Если ваша единственная проблема - ssh , вы должны принять ответ ggustafsson. Однако, если вам это нужно и для других задач IP (например, ftp, ping, ...), и у рассматриваемого хоста есть фиксированный ip (скажем, 123.123.123.123, чтобы иметь пример), вы можете добавить строку в ваш /etc/hosts такой:

123.123.123.123 shorthost

(опционально, вы также можете добавить свой somereallylonghost в конце этого, так что это также будет разрешено независимо от того, какой DNS-сервер доступен). Но имейте в виду, что вам придется обновлять эту строку всякий раз, когда меняется IP вашего очень длинного имени хоста storeplace в этом случае - что не относится к подходу ssh config.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .