Протягом останніх 2 годин я не шукав рішення наступної проблеми.
Розробка:
Я використовую аутентифікацію publickey для підключення до своїх серверів. Я використовую переадресацію ssh-агента, щоб не потрібно керувати відкритими / приватними ключами.
Скажімо, у мене є сервери 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-агента через декілька стрибків?
Відповідно до @Zoredache тут: /server//a/561576/45671 мені просто потрібно налаштувати конфігурацію свого клієнта на кожній проміжної системі. Що я вважаю, що зробив.
ProxyCommand
перестрибування (як пояснено тут ) замість пересилання SSH-агента. Для вашого підходу вам доведеться довіряти всім машинам у ланцюжку, оскільки вони можуть (ab) використовувати ваші приватні ключі. Мені також подобається підхід ProxyCommand набагато краще, оскільки перевірка відомих хостів виконується локально, і, крім того, ви можете налаштувати ланцюг у своєму конфігурації SSH, щоб ви могли використовувати єдину команду для підключення до C.