Назад | Перейти на главную страницу

Различные файлы идентификации при переходе через хосты и использовании одного файла конфигурации ssh

Скажем, у меня есть следующая настройка:

    ssh       ssh
A ------> B ------> C
    ^          ^
 using A's   using B's
   key         key

Я пытаюсь настроить это в .ssh/config в хозяине A следующим образом:

Host C
    HostName C.com
    IdentityFile path_to_key_1
    ProxyCommand ssh -i path_to_key_2 B -W %h:%p

Которые идентифицируют файл и путь к path_to_key_1 и path_to_key_2 ?

Например, делает path_to_key_1 ссылаться на путь в A и path_to_key_2 на путь в B? Или они оба должны быть путями в A?

Ваш .ssh/config на хосте A должен выглядеть следующим образом:

Host B
    HostName B.com
    IdentityFile path_to_key_2
Host C
    HostName C.com
    IdentityFile path_to_key_1
    ProxyCommand ssh B -W %h:%p

Обе path_to_key файлы должны существовать на A.

Я использую аналогичную конфигурацию в производстве для доступа к серверам nagios nrpe.

Изменить: изменен хост C config, удалено -i часть от ProxyCommand ssh -i path_to_key_2 B -W %h:%p поскольку это было лишним

В ProxyCommand выполняется из 'A', это устанавливает соединение с B, которое создает только туннель к «C», который затем используется для «A» для подключения к «C». Ни в коем случае не открывается оболочка на B или какие-либо ssh-ключи загружаются из B.

Если вам требуется ключ для аутентификации, который живет только на «B» для аутентификации на «C», вы не сможете использовать «ProxyCommand».