Мне постоянно приходится набирать ssh myusername@somereallylonghost.numb3r5.ojd202nk.net
. Вместо псевдонима я просто хочу сократить это имя хоста. Я попытался отредактировать мой файл hosts, добавив в него shorthost somereallylonghost.numb3r5.ojd202nk.net
, но он не разрешается, когда я пытаюсь подключиться как ssh myusername@shorthost
. Кто-нибудь может сказать мне, почему?
3 ответа
Вместо этого используйте файл конфигурации ssh. Путь к файлу ~/.ssh/config
.
Пример конфигурации:
Host shorthost
User myusername
HostName somereallylonghost.numb3r5.ojd202nk.net
Тогда вы можете просто запустить ssh shorthost
.
Пожалуйста, примите решение @ ggustafsson. Но так как вы спросили, почему /etc/hosts
не работает, и он не охватил это, я подумал, что рассмотрю это:
/etc/hosts
предназначен для сопоставления одного или нескольких имен хостов с IP-адресом. Это не для сопоставления одного имени другому. Поскольку он не предназначен для того, что вы ищете, он не предоставляет синтаксиса для того, что вы хотите. Синтаксис, который вы создали, не имеет смысла / недопустим для процесса, который читает /etc/hosts
, который ожидает, что каждая строка начинается с числового IP-адреса.
Если ваша единственная проблема - ssh
, вы должны принять ответ ggustafsson. Однако, если вам это нужно и для других задач IP (например, ftp, ping, ...), и у рассматриваемого хоста есть фиксированный ip (скажем, 123.123.123.123, чтобы иметь пример), вы можете добавить строку в ваш /etc/hosts
такой:
123.123.123.123 shorthost
(опционально, вы также можете добавить свой somereallylonghost в конце этого, так что это также будет разрешено независимо от того, какой DNS-сервер доступен). Но имейте в виду, что вам придется обновлять эту строку всякий раз, когда меняется IP вашего очень длинного имени хоста storeplace в этом случае - что не относится к подходу ssh config.