apt-get via ssh-tunnel wenn nur port 22 erlaubt ist


7

Ich habe einen Server, der nur über Port 22 Zugriff auf die Außenwelt hat (für die Verwendung von ssh vom Server zu anderen Computern).

Ich möchte einige Pakete über apt-getauf diesem Server installieren .

Kann ich dies mit einem SSH-Tunnel zu meiner Supermaschine erreichen, die an allen Ports über einen Internetzugang verfügt?

Wenn das so ist, wie? Denn wenn ich einen Tunnel über ssh zu meiner Supermaschine starte, wartet die sshd der Supermaschine auf Port 22. Ich gehe davon aus, dass ich denselben Port 22 nicht für das Tunneln wiederverwenden kann, oder?

Gibt es eine andere Lösung?

Antworten:


9

Versuchen Sie es über ssh socks proxy auszuführen:

echo 'Acquire::socks::proxy "socks://localhost:3128/";' | sudo tee -a /etc/apt/apt.conf
ssh -CND localhost:3128 user@remote.host

in einer anderen Terminalsitzung:

sudo apt-get whatever you need

Warum die Komprimierung? Und wie beenden Sie die SSH, wenn keine Shell ausgeführt wird ctrl+d?
Erikbwork

1
Komprimierung hilft bei langsamen Kanälen. obwohl es hier nicht notwendig ist. Ich benutze Strg + C, um die Verbindung zu schließen.
Eile

0

Ich konnte die andere Antwort nicht zum Laufen bringen.

Ich habe einen Himbeer-Pi im Netzwerk eines Kunden, der Port 80 blockiert. Also habe ich Polipo (einen Socken / http-Proxy) auf meiner eigenen Maschine installiert, mich mit SSH auf diesem Himbeer-Pi verbunden und dabei einen Tunnel zum Polipo-Proxy erstellt .

So installieren Sie polipo (ich verwende dies auf einer Ubuntu 16.04-Maschine):

sudo apt install polipo

Dies wird auf 127.0.0.8123 dienen, was für unsere Bedürfnisse gut genug ist. Stellen Sie eine Verbindung zur Remote-Maschine her und öffnen Sie gleichzeitig einen Tunnel:

ssh -R 8123:localhost:8123 myuser@client_maschine02

Jetzt müssen Sie angeben, dass aptder Proxy verwendet werden soll. Ich mache das mit diesem Befehl:

echo 'Acquire::http::proxy "http://localhost:8123";' | sudo tee -a /etc/apt/apt.conf.d/proxy.conf

Jetzt können Sie apt wie gewohnt verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.