2015-09-24 4 views
-1

В настоящее время я пытаюсь создать автоматизированный тест с использованием Java, который запускает некоторые команды на удаленном сервере, проблема заключается в том, что на этом удаленном сервере установлен брандмауэр. Вручную я могу ssh на первый сервер (брандмауэр) с помощью шпатлевки. Затем я ввожу детали на Сервер, я хочу выполнить команды. Я видел статью с кодом, в которой упоминается, как использовать java-код (jsch.jar), который я могу использовать в удаленном клиенте, но я не нашел достаточно хорошего объяснения при наличии брандмауэра. Может ли кто-нибудь дать мне объяснение, что я должен делать, и с некоторым фрагментом кода, если это возможно?Простой SSH-туннель на Java с брандмауэром

ответ

0

Не полный ответ, просто идея.

OpenSSH имеет функцию под названием ProxyCommand. Он позволяет автоматически выдавать команду в целевой системе, предположительно другую ssh.

Так у меня есть несколько записей такого рода в моей .ssh/config:

Host the.private.host.behind.firewall.net 
    Hostname 10.0.100.106 
    User username_on_the_private_host 
    Compression yes 
    ProxyCommand ssh the.firewall.net nc -q 1 %h %p 

Теперь я могу выпустить ssh the.private.host.behind.firewall.net и первым добраться до аутентификации SSH на the.firewall.net, а затем второй аутентификации на целевом хосте.

Вероятно, Java реализует протокол SSH сам по себе, но, возможно, вы можете создать такую ​​конструкцию.

Смежные вопросы