Как прокси net-sftp? - PullRequest
       132

Как прокси net-sftp?

0 голосов
/ 28 сентября 2019

Я использую net-sftp, который опирается на гем net-ssh.

Я пытаюсь подключиться к удаленной службе журналов через SFTP, и для этого требуется белый список IP-адресов.Все мои текущие серверы имеют динамические IP-адреса.

Я пытаюсь настроить статический, безопасный прокси-сервер в Google Cloud.Я не совсем понимаю все различия между всеми типами прокси, но net-ssh поддерживает ...

  • socks4
  • socks5
  • 'jump 'proxy

Я смотрел на настройку прокси socks5 с Данте, но кажется немного излишним просто передавать через него SFTP-соединение, не говоря уже о том, что он посылает пароли в виде простого текста.

Как мне проще всего проксировать net-sftp через какой-нибудь сервер?

1 Ответ

1 голос
/ 28 сентября 2019

Самый простой способ - это настроить сервер Jump-host, который может достичь целевых серверов, а затем подключиться к целевому серверу, разрешив серверу Jump-host прокси-соединение через ваше соединение.

SSH делает его тривиальнымпросто:

ssh -J user @ jump-host myuser @ target-host

В вашем .ssh / config вы можете сделать следующее:

### First jump-host. Directly reachable
Host jump-host
  HostName jum-phost.example.org

### Host to jump to via jump-host.example.org
Host target-host
  HostName target-host.example.org
  ProxyJump  jump-host

Это будетпозволяет вам использовать net-ssh как обычно.Если вы не хотите изменять конфигурационный файл, вам придется использовать 'net/ssh/proxy/jump':

require 'net/ssh/proxy/jump'

proxy = Net::SSH::Proxy::Jump.new('user@proxy')
Net::SSH.start('host', 'user', :proxy => proxy) do |ssh|
  ...
end 

См. Эту статью для получения дополнительной информации о Jump Hosts.

...