Подключение двух конечных точек через прокси-сервер с туннелированием SSH

Хотя rsync --checksum является правильным ответом, обратите внимание, что этот вариант несовместим с --times, и что --архив включает --times, так что если вы хотите rsync -a --checksum, вам действительно нужно rsync -a --no-times --checksum.

0
03.09.2015, 15:11
1 ответ

Вопрос не совсем понятен, но я все равно попробую его решить.

Если вы просто хотите всегда иметь возможность добраться до HTTP-сервера через этот промежуточный хост, вы можете использовать обратное SSH-туннелирование от HTTP-сервера к промежуточному хосту и экспортировать порт HTTP-сервера на loopback-интерфейс промежуточного сервера (вы можете выставить его и на внешний интерфейс, но это будет означать, что любой человек в сети тогда сможет попасть на ваш HTTP-сервер).

Чтобы сделать это, вам нужно использовать ssh -R 8080:127.0.0.1:80 joe@friendly.domain.tld с вашего HTTP сервера. Это откроет порт 80 как порт 8080 на интерфейсе loopback на friendly.domain.tld.

Далее вам нужно перенаправить его на вашу локальную машину, выполнив следующие действия на локальной машине: ssh -L 8080:127.0.0.1:8080 joe@friendly.domain.tld. С этого момента порт 8080 на вашем loopback интерфейсе подключен к вашему HTTP серверу :)

Вы можете получить больше информации из статьи в блоге, которую я написал некоторое время назад: http://dmitry.khlebnikov.net/2010/12/ssh-port-forwarding-intermediate.html

0
28.01.2020, 04:55

Теги

Похожие вопросы