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

SSH ForwardAgent несколько переходов

Последние 2 часа я безуспешно искал решение следующей проблемы.

Развитие:

Я использую аутентификацию с открытым ключом для подключения к своим серверам. Я использую пересылку ssh-agent, чтобы мне не приходилось управлять общедоступными / приватными ключами.

Допустим, у меня есть серверы A, B and C.

Это очень хорошо работает, если я подключаюсь из LOCAL ---> A ---> B.

Это также очень хорошо работает, если я LOCAL ---> A ---> C.

Теперь, если я попробую LOCAL ---> A ---> B ---> C, SSH не может подключиться из B to C.

Стоит отметить: я подключаюсь к серверу A как ликвидность, тогда как я подключаюсь к серверу B как root. Подключение к серверу B из-за ликвидности решает проблему, но для меня это не вариант.

По рекомендации пользователя я использую ssh -A каждый раз, чтобы убедиться, что переадресация агента включена.

Я нашел один похожий вопрос, на который нет ответа: Можно ли связать пересылку ssh-agent через несколько переходов?

Согласно @Zoredache здесь: https://serverfault.com/a/561576/45671 Мне просто нужно настроить конфигурацию клиента в каждой промежуточной системе. Что я думаю, что и сделал.

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

Это может быть так же просто, как убедиться, что ваш /etc/ssh/ssh_config это настроено. Но если у вас есть конфигурации для каждого клиента в ~/.ssh/config вам может потребоваться также изменить эти настройки.

Host *
    ForwardAgent yes

Вы можете увидеть, произошла ли переадресация агента или произошла ошибка, если вы просто добавите -v вариант.

$ ssh -v issc@server1
OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /home/zoredache/.ssh/config
...
debug1: Requesting authentication agent forwarding.
debug1: Sending environment.
Linux server1 3.11-0.bpo.2-amd64 #1 SMP Debian 3.11.8-1~bpo70+1 (2013-11-21) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Dec 15 20:39:44 2013 from 10.2.4.243
issc@server1:~$

Также убедитесь, что у вас есть допустимый набор переменных среды.

issc@server1:~$ export | grep SSH_AUTH
declare -x SSH_AUTH_SOCK="/tmp/ssh-7VejOmKtNv/agent.57943"