Туннельный ням трафик через другой сервер через ssh


10

Я использую рабочий стол Fedora за корпоративным прокси, который блокирует yumтрафик (особенно *.gzи *.bz2). У меня есть доступ к отдельной машине RedHat через ssh, которая может загрузить все, что угодно.

Когда я выполняю yum updateи другие команды yum: возможно ли перенаправить этот трафик на компьютер RedHat, чтобы выполнить загрузки для меня? У меня нет прав root на машине RedHat, но я могу войти и использовать wget для загрузки файлов. Если так, то как?

Ответы:


21

Мое решение было похоже на @ slm, но вместо этого я использовал SOCKS, потому что это проще и не требует установки прокси на сервере или клиенте.

Запустите все команды на компьютере с ограниченным доступом.

в yum.confнастройке прокси следующим образом

proxy=socks5h://localhost:1080

из терминального типа

ssh -D 1080 YOUR_USER@YOUR_SERVER_WITH_FULL_WEB_ACCESS

нажмите ввод и введите свой пароль.

теперь в отдельном терминале (не ssh один) типа

yum update

1
Я пытался использовать настройку прокси socks5h в yum.conf, но yum жалуется, что это не http, https или ftp. (используя Centos6)
gnac

Мое решение работает с Fedora 20 & 21. Cent и Fedora схожими дистрибутивами, поэтому немного странно, что оно не работает.
Jax

Привет, упомянутая вами команда ssh должна быть запущена на компьютере с правами ограниченного доступа? Если да, мне интересно, как брандмауэр не блокирует и вызывает ошибку типа «ssh: connect to host YOUR_SERVER_WITH_FULL_WEB_ACCESS port 22: Нет маршрута к хосту». YOUR_SERVER_WITH_FULL_WEB_ACCESS доступен с компьютера с ограниченным доступом?
Привет

@ Привет, да, «YOUR_SERVER_WITH_FULL_WEB_ACCESS» должен быть доступен с вашего компьютера. В моем случае - мой интернет был ограничен локально.
Jax

4

Вы должны быть в состоянии прокси-трафик YUM через соединение SSH следующим образом:

  1. добавьте /etc/yum.confна защищенный сервер:

    proxy=http://127.0.0.1:8080
    
  2. с сервера с обычным входящим / исходящим доступом ssh:

    $ ssh -R 8080:ssh.server:8080 user@protected.server
    
  3. На сервере, на котором вы хотите запускать команды YUM:

    $ yum update
    

Ссылки


Мне просто нужны некоторые разъяснения. (Я буду ссылаться на мой рабочий стол Fedora как desktopна сервер RedHat с полным доступом к загрузке как server). Поэтому я думаю, что мне нужно будет это сделать proxy=http://127.0.0.1:8080на моем компьютере, так desktopкак это компьютер, требующий обновления yum, и ssh -R 8080:ssh.server:8080 user@protected.serverна моем компьютере desktop. Откуда берется serverконфигурация или нет?
Джекс

2
Вы пропускаете шаг запуска прокси-сервера HTTP, который прослушивает порт 8080 на ssh.server.
Жиль "ТАК - перестань быть злым"

@ Жиль, мне нужен прокси на моем desktopили server? Если это не сервер, я не могу установить его, потому что у меня нет доступа с
правами

@jax Вам нужно запустить прокси на машине с подключением к интернету. Вам не нужно запускать его как root. Tinyproxy прост в настройке (есть много альтернатив).
Жиль "ТАК - перестань быть злым"

@ Жиль, в другом месте я обнаружил, что вы можете создать прокси Socks, который, по-видимому, автоматически маршрутизирует TCP-трафик. ssh -D 8888 user@serverна рабочем столе, то вам нужно сказать Yum использовать этот сервер proxy=socks5h://localhost:8888. Так вы можете увидеть какие-либо проблемы с этим? Это означало бы, что мне не нужно ничего устанавливать на серверную машину, что идеально в моем случае, потому что это общая машина. Я не смогу проверить это до понедельника.
Джекс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.