ssh-туннель для 443

Мне нужно получить файл по ссылке (443), что возможно только с сервера B .

У меня 3 сервера, ( AB C ).

Можно получить доступ к серверу B и загрузить этот файл с помощью wget с сервера C .

wget https://NAME:PASS@DOMAIN.net/customerInfo/804-577823-10 --no-check-certificate
...
2021-06-18 16:18:01 (24,7 MB/s) - ‘804-577823-10’ saved [163/163]

От A до B разрешено использовать только порт 22 (ssh), но не порт 443 .

Мне нужно создать туннель, который будет проходить от A до B через 22 и загрузить файл с C через wget порт 443 , точно так же, как если бы я был на сервере B .

Короче говоря, мне нужен ssh-туннель от A до B , а затем мне нужно использовать порт 443 , чтобы применить / загрузить файл на C через wget из A , так же, как на B .

Я пытался, но безуспешно.

ssh -L 4433:C:443 -Nf B

Я пробовал даже с прокси, но безуспешно.

wget -e use_proxy=yes -e http_proxy=C https://NAME:PASS@DOMAIN.net/customerInfo/804-577823-10 --no-check-certificate

Возможно ли?

Спасибо.

ОБНОВЛЕНИЕ

SERVER_A:443 -> ssh tunnel by port 22 through SERVER_B -> SERVER_C:443

Итак, если я использую на SERVER_A ту же ссылку, что и на SERVER_B , я хочу получить файл с помощью wget из SERVER_C .

Самый простой способ - разрешить порт 443 на SERVER_C для SERVER_A , но в данном случае это невозможно.

Разрешен только порт 22 между SERVER_A и SERVER_B .

Теперь все ясно?

Спасибо.

0
задан 19 June 2021 в 13:29

1 ответ

Это зависит от того, кому принадлежат серверы с точки зрения разрешений, чтобы определить, что вы можете делать. Кроме того, я не совсем понимаю, если это одноразовая загрузка или вам нужно постоянное решение.

Прочитав ваш вопрос, я перейду на сервер B с защищенной оболочкой.

$ ssh user@serverB

Затем загрузите файл оттуда. (Важен пункт в конце)

$ scp -P 443 user@serverC:/path/to/file.txt  .

После этого вы можете отправить его на сервер A

$ scp file.txt user@serverA:~/

Существуют также более сложные решения, но это зависит от ваших потребностей и свободы действий.

Обновление :

Вы можете отправить команду на сервер по ssh.

ssh user@serverB "wget your file at C"

Вы можете выполнить двойную команду, например:

ssh user@serverB "wget your file @C:443  && scp file.txt you@serverA:~/"

Но тогда вам нужно, чтобы на serverB были установлены публичные сертификаты на serverA, чтобы пропускать слова без паролей. Альтернативой является сценарий с двумя командами, как описано выше.

2
ответ дан 28 July 2021 в 11:27

Другие вопросы по тегам:

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