У меня есть два веб-сервера, каждый с общедоступным IP-адресом, которые выполняют исходящие SFTP-соединения с различными SFTP-серверами для обновления содержимого. Я хочу настроить прямой прокси для исходящих подключений SFTP. Такой прокси существует?
Вы можете использовать прокси-соединения SSH (и, следовательно, также SFTP, который инкапсулирован в SSH-соединение), используя общий прокси-сервер SOCKS. Мне не известны какие-либо прокси для конкретных протоколов для SSH / SFTP.
(Было бы легче ответить, если бы вы намекнули о своей конечной цели. Какова цель желания иметь прокси?)
ОБНОВИТЬ
Установить цоски на клиентах, инициирующих SFTP-соединения.
В твоем /etc/tsocks.conf установите следующее:
server = 127.0.0.1
server_type = 5
server_port = 1080
Откройте фоновое SSH-соединение с вашим прокси-сервером SFTP следующим образом:
ssh -D 1080 -f -n -N ssh-proxy.example.com
... или если вы хотите, чтобы он закрывался автоматически через 5 минут:
ssh -D 1080 -f -n ssh-proxy.example.com 'sleep 300'
(Если вы делаете это из сценария, вам, вероятно, потребуется добавить -i keyfile
в клиенте и введите соответствующую запись в ~/.ssh/authorized_keys
на прокси-сервере SFTP, если вы хотите открыть соединение из сценария без внимания пользователя.)
Запустите операции SFTP через прокси, используя цоски обертка:
tsocks sftp destination-host.example.com
(Это SFTP-соединение будет выглядеть в destination-host.example.com, как если бы оно было инициировано с ssh-proxy.example.com.)
В качестве альтернативы вы можете установить данте-сервер (программное обеспечение прокси-сервера SOCKS) на прокси-машине и настройте свой /etc/tsocks.conf подключиться туда вместо 127.0.0.1. Затем просто запустите свои операции SFTP с цоски обертка, как на шаге 4 выше. Если вы это сделаете, вам нужно убедиться, что данте сервер настроен так, что он не разрешает подключения от неавторизованных пользователей.
Надеюсь это поможет!