4

Я пытаюсь создать конфигурацию для подключения к удаленному серверу ssh с помощью команды ssh <server short name> . Я положил это в ~/.ssh/config:

Host <server short name> <server full name>
    Host <server full name>
    User <my username on the remote server>
    Port 22022
    ForwardAgent yes
    ForwardX11 yes

Я могу подключиться с помощью

$ ssh <server full name>

но это не удается с командой

$ ssh <server short name>
ssh: Could not resolve hostname <server short name>: Name or service not known

Я несколько раз проверил орфографию и не смог найти ошибку. Есть идеи, почему вторая команда терпит неудачу?

2 ответа2

2

Host не как опция SSH; он всегда начинает новый раздел, независимо от уровня отступа. Таким образом, у вас есть два раздела конфигурации; пустой, соответствующий <shortname> <fullname> а затем один соответствующий просто <fullname> .

Вместо этого вторая строка должна быть HostName <fullname> .

0

Смотрите справочные страницы

Ключевое слово host используется для группировки конфигурации вместе, а также может использоваться для определения псевдонима для хоста или для настройки нескольких хостов одновременно.

Рассмотрим следующий сценарий: на работе у вас есть два сервера, называемые dev.example.com и test.example.com, где вы используете одну и ту же пару ключей и учетную запись github со второй парой ключей. Затем вы можете настроить следующий конфиг

host *.example.com
identityfile ~/.ssh/work-key
user bob
Port 22022
ForwardAgent yes
ForwardX11 yes

host github.com
identityfile ~/.ssh/github-key

host dev
hostname dev.example.com

host test
hostname test.example.com

И использовать что-то вроде этого для подключения:

ssh dev

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