Рейтинг:0

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

флаг ss

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

У меня 3 сервера(А Б В).

Доступ к серверу возможен Б и скачайте этот файл через wget с сервера С.

wget https://NAME:[email protected]/customerInfo/804-577823-10 --no-check-certificate
...
2021-06-18 16:18:01 (24,7 МБ/с) - ‹804-577823-10″ сохранено [163/163]

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

Мне нужно сделать туннель, который будет проходить от А к Б с помощью 22 и скачать файл с С с помощью wget порт 443, точно так же, как если бы я был на сервере Б.

Короче, мне нужен ssh туннель от А к Б и тогда мне нужно использовать порт 443, для применения/скачивания файла на С с помощью wget от А, так же, как и на Б.

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

ssh -L 4433:C:443 -Nf B

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

wget -e use_proxy=yes -e http_proxy=C https://NAME:[email protected]/customerInfo/804-577823-10 --no-check-certificate

Является ли это возможным?

Спасибо.

ОБНОВИТЬ

SERVER_A:443 -> туннель ssh через порт 22 через SERVER_B -> SERVER_C:443

Итак, если я использую на СЕРВЕР_А та же ссылка, что и на SERVER_B, я хочу получить файл wget от SERVER_C.

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

Разрешен только порт 22 между СЕРВЕР_А и SERVER_B.

Теперь ясно?

Спасибо.

Рейтинг:2
флаг us

It depends on who owns the servers in terms of permissions in order to determine what you are able to do. Also, what i do not quite understand is if this a one time download or you are in need of a permanent solution.

After reading your question I would go into server B with a secure shell.

$ ssh user@serverB

Then download the file from there. ( The point at the end is important)

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

After this you can get send it to server A

$ scp file.txt user@serverA:~/

There are also more sophisticated solutions but it depends on your needs and freedom to act.

Update:

You can send a command to the server over ssh.

ssh user@serverB "wget your file at C"

You could do a double command like:

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

But then you need to have serverB have his public certificates installed at serverA to go pass-wordless. The alternative is a 2 command script like explained above.

genderbee avatar
флаг ss
Здравствуйте, да, я знаю, но мне нужен прямой доступ к этой ссылке/файлу, который находится на сервере **C**, с сервера **A**, поэтому мне нужно настроить сервер **A**, чтобы ссылка с * Сервер *C** должен быть доступен на сервере **A**. Возможно ли это сделать через туннель ssh?
Whois_me avatar
флаг us
У вас есть сервер B?
genderbee avatar
флаг ss
Да, я могу делать что угодно на сервере B, но не на C, поэтому я не могу разрешить доступ с сервера A к C напрямую через порт 443.
флаг ru
@genderbee, тогда вам нужно пойти непрямым путем - перенаправить его на сервер B, затем переместить с сервера B на сервер A. Если у вас нет A или C, вам действительно следует поговорить с их администраторами, потому что они могут * не захотеть * A и C для любой передачи файлов.
Whois_me avatar
флаг us
@гендерби. Хотя мне нравится задача туннелирования компьютеров через матрицу, мне действительно интересно, чего вы пытаетесь достичь.
genderbee avatar
флаг ss
@rm- Это просто, я просто хочу настроить сервер **A** для получения файла по ссылке `wget` (порт 443) так же, как на сервере **B**, используя туннель (или прокси?). Теперь, когда я пытаюсь выполнить `wget` на сервере **A**, в соединении отказывается, даже если ssh-туннель работает.
genderbee avatar
флаг ss
@rm- См. обновление вопроса, пожалуйста.
Whois_me avatar
флаг us
Да, я понимаю ваш вопрос. Мой ответ решает ваш вопрос? Если нет, вам следует посмотреть другие решения, а затем wget, я думаю. Отсюда мой дополнительный вопрос. Что вы ДЕЙСТВИТЕЛЬНО пытаетесь сделать? Таким образом, мы можем помочь вне рамок вашего вопроса.
genderbee avatar
флаг ss
@rm- У меня есть приложение на основе PHP, и это приложение использует вызов wget, поэтому его необходимо использовать с помощью `wget`. До сих пор нет успеха.
Whois_me avatar
флаг us
Хорошо, давайте сделаем это шаг за шагом. Можете ли вы получить свой файл, когда вы вошли на сервер B? Посмотрите: https://www.gnu.org/software/wget/manual/wget.html#URL-Format
genderbee avatar
флаг ss
@rm- Да, я могу. Сервер B является prod, поэтому можно получить ссылку по порту 443 с сервера C. Сервер A является тестовым, и нет возможности получить ссылку по порту 443 с сервера C. У меня разрешен только порт 22 между сервером A и B. .Как сделать на сервере А (тестовом) рабочий порт 443 для нужного линка (сервер С) через туннель через порт 22?
Whois_me avatar
флаг us
Следующий шаг: добавьте эту команду wget в команду ssh. Например, в ssh user@serverB «команда wget на сервер C» и выполнение на A. Это должно работать. Вы можете сначала протестировать соединение с AB с помощью ssh@user "touch test.txt". После этой команды на сервере B (/home/user) должен появиться новый файл «test.txt».

Ответить или комментировать

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