Tuneluj mniam przez inny serwer przez ssh

10

Korzystam z pulpitu Fedory za korporacyjnym serwerem proxy, który blokuje yumruch (szczególnie *.gzi *.bz2). Mam dostęp do osobnej maszyny RedHat za pośrednictwem ssh, która może pobierać co tylko zechce.

Kiedy to zrobię yum updatei inne mniam polecenia: Czy jest możliwe skierowanie tego ruchu do maszyny RedHat, aby pobrać pliki dla mnie? Nie mam dostępu do roota na maszynie RedHat, ale mogę się zalogować i użyć wget do pobrania plików. Jeśli tak to jak?

jax
źródło

Odpowiedzi:

21

Moje rozwiązanie było podobne do @ slm, ale zamiast tego użyłem SOCKS, ponieważ jest prostsze i nie wymaga instalacji proxy na serwerze lub kliencie.

Uruchom wszystkie polecenia na komputerze z ograniczonym dostępem.

w yum.confustaw serwer proxy w następujący sposób

proxy=socks5h://localhost:1080

od typu terminala

ssh -D 1080 YOUR_USER@YOUR_SERVER_WITH_FULL_WEB_ACCESS

naciśnij enter i wpisz swoje hasło.

teraz w osobnym terminalu (nie w ssh)

yum update
jax
źródło
1
Próbowałem użyć ustawienia proxy socks5h w yum.conf, ale yum narzeka, że ​​nie jest to http, https ani ftp. (przy użyciu Centos6)
gnac
Moje rozwiązanie działa z Fedorą 20 i 21. Cent i Fedorą podobne dystrybucje, więc to trochę dziwne, że nie działa.
jax
Witaj, wspomniane polecenie ssh powinno być uruchomione na komputerze z ograniczonym dostępem, prawda? Jeśli tak, zastanawiam się, w jaki sposób zapora sieciowa nie blokuje się i nie powoduje błędu: „ssh: connect to host YOUR_SERVER_WITH_FULL_WEB_ACCESS port 22: Brak trasy do hosta”. YOUR_SERVER_WITH_FULL_WEB_ACCESS jest dostępny z ograniczonej maszyny?
Hei,
@Hei tak, „YOUR_SERVER_WITH_FULL_WEB_ACCESS” musi być dostępny z Twojego komputera. W moim przypadku - mój internet był ograniczony lokalnie.
jax
4

Powinieneś być w stanie proxy ruchu YUM przez połączenie SSH w następujący sposób:

  1. dodaj do /etc/yum.confna chronionym serwerze:

    proxy=http://127.0.0.1:8080
    
  2. z serwera z normalnym dostępem przychodzącym / wychodzącym ssh:

    $ ssh -R 8080:ssh.server:8080 [email protected]
    
  3. Na serwerze, na którym chcesz uruchomić polecenia YUM:

    $ yum update
    

Bibliografia

slm
źródło
Potrzebuję tylko wyjaśnień. (Będę odnosić się do mojego pulpitu Fedory jako desktopi serwera RedHat z pełnym dostępem do pobierania jako server). Myślę, że muszę to zrobić proxy=http://127.0.0.1:8080na moim, desktopponieważ jest to komputer, który potrzebuje aktualizacji yum i ssh -R 8080:ssh.server:8080 [email protected]na moim desktop. Gdzie serverwchodzi w to konfiguracja, czy jej nie ma?
jax
2
Brakuje kroku uruchomienia serwera proxy HTTP, który nasłuchuje na porcie 8080 ssh.server.
Gilles „SO- przestań być zły”
@Gilles, czy potrzebuję proxy na moim desktopczy server? Jeśli to nie serwer, nie mogę go zainstalować, ponieważ nie mam dostępu do
konta
@jax Musisz uruchomić serwer proxy na komputerze z połączeniem internetowym. Nie musisz uruchamiać go jako root. Tinyproxy jest łatwy w konfiguracji (istnieje wiele alternatyw).
Gilles „SO- przestań być zły”
@Gilles, znalazłem gdzie indziej, że możesz utworzyć proxy Socks, które najwyraźniej automatycznie kieruje ruchem TCP. ssh -D 8888 user@serverna pulpicie, musisz powiedzieć yum, aby używał tego serwera proxy=socks5h://localhost:8888. Czy widzisz z tym jakiś problem? Oznaczałoby to, że nie muszę instalować niczego na maszynie serwerowej, co jest idealne w moim przypadku, ponieważ jest to maszyna współdzielona. Nie będę mógł tego przetestować do poniedziałku.
jax