У мене є сервер управління (CS), який має доступ SSH до багатьох інших (H1, H2 тощо). Я хотів би, щоб CS міг ініціювати передачу rsync між будь-якими двома серверами H *, не знаючи, як хости знають, як безпосередньо з'єднуватися один з одним.
Я переглянув переадресацію локального / зворотного порту, але, здається, це корисно лише тоді, коли H1 і H2 не можуть безпосередньо спілкуватися один з одним у мережі. H1 все ще потребує авторизованого ключа на H2, щоб він працював, чого я хочу уникати.
Переадресація агента читає, як у нього є недолік, який дозволяє ненадійному H1 використовувати будь-який з моїх ключів для інших хостів. Я не хочу, щоб H1 отримував доступ до чого-небудь іншого, тільки H2 протягом тривалості передачі.
Чи є спосіб я встановити з'єднання SSH від CS до H1 і від CS до H2, а потім rsync (або на CS, або на H1) спілкуватися через ці канали до H2, не вимагаючи додаткової автентифікації? Щось на зразок командного тунелю, який попередньо дозволений?
rsync
чи scp
працювали б ?
scp
, тому мені не доведеться переписувати ці команди, але я не думаю, що я не можу обійтися без rsync
її цілих можливостей дерева.