eXma » Diskutieren » Computer und Technik
Startseite - Veranstaltungen - Mitglieder - Suche
Vollständige Version anzeigen: [gelöst] SSH aus dem BA Netz...
Socres
An alle BA-Studenten!

Also ich versuche aus dem BA Netz per SSH auf meinen Router zuhause zuzugreifen. die Verbindungen aus der BA gehen über einen HTTP Proxy. Dazu habe ich corkscrew installiert und in die ~/.ssh/config folgendes eingetragen (nach howto):
CODE

Host *
 ProxyCommand corkscrew 192.168.2.4 3128 %h %p


wenn ich jetzt SSH user@ziehl ausführe bekomme ich folgende Meldung:
CODE

Proxy could not open connnection to ziel:  Service Unavailable
ssh_exchange_identification: Connection closed by remote host


Die mehr als spärlichen Beschreibungen zu corkscrew sagen mir ich hätte warsch. die falsche Adresse oder Port angegeben. Die stimmen aber beide, schliesslich bekomme ich darüber andere Verbindungen hin (zb IRC).

Hat jemand schonmal eine funktionierende SSH Verbindung aus dem BA Netz zustande bekommen?
unicum
is corkscrew im pfad?
seb

CODE

Proxy could not open connnection to ziel:  Service Unavailable


da scheint dich jemand nicht zu mögen .. der proxy meint da is nix mit request .. entweder
verbietet das jemand oder dein zielsystem war nicht erreichbar .. evtl. blockt die ba port 22 requests nach draussen .. ein ssh server, der auf port 443 lauscht könnte da abhilfe schaffen

grüße

Seb
andre_ny
Zitat(seb @ 02 Feb 2009, 12:01)
CODE

Proxy could not open connnection to ziel:  Service Unavailable


da scheint dich jemand nicht zu mögen .. der proxy meint da is nix mit request .. entweder
verbietet das jemand oder dein zielsystem war nicht erreichbar .. evtl. blockt die ba port 22 requests nach draussen .. ein ssh server, der auf port 443 lauscht könnte da abhilfe schaffen

grüße

Seb
*


musst deinen ssh irgendwie auf port 80 laufen lassen,
da die BA mittlerweile alles ausserhalb http (80) blockt,
zwischenzeitlich sogar mal 443, keine ahnung ob das mittlerweile wieder geht, bin erst ab nächster woche wieder im "landschulheim"

statt ssh vllt ersma ne vpn verbindung zu deinem router? dd-wrt - openvpn
schonmal mittels open-vpn versucht? meines erachtens gabs da ne proxy-funktion, welches alles durch einen port nach draussen tunneln kann, aber bin bisher nie zum testen gekommen.
wennde mich nächste woche nochma dran erinnerst, probier ichs mal aus

bye andré
Sigurd
Wenn du in der BA einen Unix-Account ähnlich dem in der TU oder HTW hast, dann geht eine Verbindung nach draußen eigentlich ganz einfach über einen Tunnel:
CODE

ssh -L 2222:socres@router:80 socres@ba-netz

Notwendigerweise musst du den SSH-Port deines Routers auf die 80 legen, damit die Anfrage überhaupt aus dem BA-Netz rauskommt.

Eine Verbindung kommt dann über
CODE
ssh socres@localhost -p2222
zustande.

PS: Nur eine Idee der ersten Herangehensweise meinerseits... Kein Plan, obs funktioniert...
Socres
Zitat(Sigurd @ 02 Feb 2009, 13:27)
Wenn du in der BA einen Unix-Account ähnlich dem in der TU oder HTW hast...
*


rofl.gif weeping.gif
ich bewundere deinen glauben ans gute in den menschen *gg*
sowas gibs hier nich... sad.gif

das sagt nmap:
CODE

Starting Nmap 4.62 ( http://nmap.org ) at 2009-02-02 14:02 CET
Interesting ports on inet.rz.ba-dresden.de (192.168.2.4):
Not shown: 1713 closed ports
PORT     STATE SERVICE
53/tcp   open  domain
3128/tcp open  squid-http

Nmap done: 1 IP address (1 host up) scanned in 1.009 seconds

ich könnte doch versuchen den port 3128 zu benutzen und diesen dann auf meinem router an den port 22 der virtuellen ip durchzureichen?
open-vpn muss ich in aller ruhe zuhause erstma einrichten, hab von hier ja keinen zugriff aufn router ...

unicum: in welchem pfad? /usr/bin/ rofl.gif
junge nich irgendwelchen mist posten!

UPDATE:
also ich habe jetzt auf meinem router 2 weiterleitungen gemacht: draussen53>22drinnen und draussen3128>22drinnen

drinnen bezeichnet eine virtuelle ip meines routers er leitet also die anfragen die an port xyz am router ankommen an port 22 der 2. ip des routers weiter... das is eh nötig sonst funktioniert der ssh zugriff von aussen überhaupt nicht (siehe freetz wiki irgendwo)

wenn ich jetzt allerdings per ssh socres@stefankauerauf.... -p3128 oder 53 zugreifen will passiert garnix
ich boote aber den router erstnochmal neu

UPDATE 2: passiert immernoch nix... allerdings kommt auch kein fehler... seh ich das falsch wie ich das versuche?
seb
Zitat(Socres @ 02 Feb 2009, 14:09)
das sagt nmap:
CODE

Starting Nmap 4.62 ( http://nmap.org ) at 2009-02-02 14:02 CET
Interesting ports on inet.rz.ba-dresden.de (192.168.2.4):
Not shown: 1713 closed ports
PORT     STATE SERVICE
53/tcp   open  domain
3128/tcp open  squid-http

Nmap done: 1 IP address (1 host up) scanned in 1.009 seconds


das sagt dir ja erstmal nur, was auf dem server dort läuft .. (ich wär mit sowas übrigens vorsichtig .. es soll ja leute geben die etwas allergisch auf portscans reagieren ;-))

Zitat
ich könnte doch versuchen den port 3128 zu benutzen und diesen dann auf meinem router an den port 22 der virtuellen ip durchzureichen?


öhm wie jetzt genau?
der port 3128 ist der port an dem der squid auf dem server lauscht .. da is nich viel mit durchreichen nach irgendwohin .. auf dem port wird http gesprochen ;-)

was dein corkscrew macht ist mit dem proxy reden und ein CONNECT your.server.bla:22 durchzuführen .. dann kriegst du ne TCP verbindung über den proxy und dein ssh kann (getunnelt via http) mit dem server reden (soweit die theorie) .. wenn aber ausgehende verbindungen mit zielport 22 geblockt werden is nunmal essig damit ..

der ansatz von sigurd bringt da mal gar nix, da egal auf welchem server du dich im ba-netz einloggen willst .. :22 (zielport) wird nich klappen

.. was du also tun musst ist einen ssh server irgendwo auf dieser welt dazu bringen an port 80 oder 443 zu lauschen .. dann das corkscrew (wie du's oben configuriert hast) nehmen und einfach
ssh -p 443 (oder halt 80) socres@meintollerserverganzweitdraussen.de aufrufen

grüße

Seb
Socres
okay ichn probier mal port 80

okay rockt, funzt, fetzt

so aber das mit den ports muss mir mal einer erklären jetzt.

also ich sitz hier in der ba mit meinem notebook...

meine verbindungen gehen als erstes an den proxy an port 3128....
wieso kann ich jetzt mit ssh -p80 und nem sshserver der auf diesen port lauscht ne verbindung aufbauen und mit port 22 nicht?

ich raffs irgendwie nich.
seb
Zitat(Socres @ 02 Feb 2009, 15:08)
meine verbindungen gehen als erstes an den proxy an port 3128....
wieso kann ich jetzt mit ssh -p80 und nem sshserver der auf diesen port lauscht ne verbindung aufbauen und mit port 22 nicht?

ich raffs irgendwie nich.
*


ich würde tippen vor dem ba-netz klemmt eine firewall, die ausgehen pakete welche nicht als zielport 80 oder 443 haben einfach ma killt .. port 80 is nunmal normal http, wobei du aber wieder den proxy server brauchst, da du von deiner kiste direkt wohl auch nicht rauskommen wirst ..

grüße

Seb
Socres
jap allerdings versteh ich das mit den ports nicht... der proxy hat nen port 3128 und is nen http proxy...

wenn ich jetzt ne anfrage sende (http) dann dachte ich durch die proxyeinstellung wird das ganze auf port 3128 umgelenkt und auf der anderen seite schickt der proxy das dann an port 80 wieso muss ich den zielport mit angeben? vieleicht drücke ich mich einfach nicht deutlich genug aus... ach menno... ich werd mal was dazu lesen...

mir fällt noch was ein, wenn ich jetzt aufs webinterface zugreifen will zuhause (lokal läuft das nicht über https sondern über http also port 80) dann geht dass doch schief wa?
seb
hab ma was gemalt (bitte keine kritik an meinem super bild ;-))
bild kann nicht angezeigt werden

also .. die roten linien sind versuchte verbindungen von deinem laptop nach draussen und werden
alle geblockt ..

die blaue linie ist ein connect von deinerm corkscrew zu dem http proxy der ba, welcher dann (nach einem CONNECT befehl des corkscrews) versucht eine verbindung nach draussen aufzubauen .. das blockt aber die firewall

die grüne linie ist im prinzip das gleiche, nur dass die firewall das nicht blockt, da sonst niemand surfen könnte ..

hoffe is irgendwie verständlich


grüße

Seb
Socres
okay prinzipiell verstanden... so in der art hatte ich mir das gedacht... nur versteh ich immernoch eins nicht ganz. wenn ich pakete abschicke mit adresse und zielport 80 dann wird dieser zielport doch in 3128 geändert und die adresse auf die des proxies... auf meiner lokalen maschine wo ich die proxyinfos eingetragen habe... wie weiß der proxy dann an welchen port die gehen sollten?

oder werden die zielports und adressen der pakete von den proxyeinstellungen nicht geändert sondern nur irgendwie an den port aufm proxy geschickt und der schiebt sie dann weiter?

wo liegt meine verständnisschwäche?

und was wird aus meinem webinterface lokal? fragen über fragen...
seb
Zitat(Socres @ 02 Feb 2009, 15:52)
okay prinzipiell verstanden... so in der art hatte ich mir das gedacht... nur versteh ich immernoch eins nicht ganz. wenn ich pakete abschicke mit adresse und zielport 80 dann wird dieser zielport doch in 3128 geändert und die adresse auf die des proxies... auf meiner lokalen maschine wo ich die proxyinfos eingetragen habe... wie weiß der proxy dann an welchen port die gehen sollten?



tust du ja gar nicht, was du mit der den corkscrew einstellungen in deiner ssh-config machst ist, dass ssh corkscrew mit den angegebenen parametern aufruft und das dann die verbindung über den proxy aufbaut .. also:

ssh -> aufruf corkscrew -> tcp verbindung zu ba-proxy port 3128 -> corkscrew liest aus seiner parameter liste (das %u und %p in der ssh-config) port und host aus und schickt ein "CONNECT host:port" kommando an den proxy, dieser baut nun die verbindung zu server:80 auf -> da nun alles was ssh sendet direkt über corkscrew geht, was wiederum über den CONNECT request zu deinem server geht bei dem auf port 80 lauschendem ssh-server ankommt funktionierts

grüße

Seb
Socres
hm soweit isses klar denk ich, der tunnel gaukelt dem proxy eine verbindung mit http daten vor und in wirklichkeit geht da drinnen ssh lang... (?) was ich eben immernoch nicht so richtig raffe ist: wie macht der webbrowser das dann? schickt der seine anfragen auch über einen solchen tunnel?

Polygon
Nur der Vollständigkeit halber:

Die Verbindungen vom Proxy zu allem was nicht Port 80/443 ist werden wahrscheinlich vom Proxy selbst blockiert und nicht erst von irgendeiner Firewall. Da wird oftmals viel mehr gefiltert als nur der Port (Pornofilter, Keyword-Filter, WirFilternWeilWirsKönnen-Filter, Virenscan des Datenverkehrs etc. etc.), hängt natürlich von den Einstellungen ab, aber mit Squid geht da z.B. schon ne Menge.
Und wenn es irgendwann mal nichtmehr geht, dann stell alles auf Port 443 um. Ich war schon in einigen Netzen, wo die Proxies auf Port80 offenbar den Traffic analysiert haben. Jedenfalls kam ich mit SSH dort nicht durch.
Auf Port 443 ist das wegen der Verschlüsselung bei HTTPS allerdings relativ unmöglich (wenn man nicht gaaaanz böse Sachen macht), darum ist das mittlerweile mein Port der Wahl wenn ich irgendwo raustunneln will. Damit bin ich bisher noch von überall in mein VPN gekommen.
Socres
ich glaub ich habs inzwischen auch verstanden...

was mich jetzt noch wurmt ist eins... dadurch das mein ssh-server jetzt auf port 80 lauscht, bzw daß mein router port 80 an port 22 an sich selbst weiterleitet is doch mein webfrontend futschi...
Polygon
Dann nimm Port443 statt Port80. Ausserdem muss der doch nur auf dem externen Interface auf Port80 lauschen und da ist es eh nicht so ratsam, das Webinterface laufen zu haben.
Socres
aso stimmt natürlich... der sollte ja prinzipiell nur auf der lan-seite lauschen...
von aussen benutzt das webfrontend ja https also würde der port flach fallen.
ich probier dann einfach mal zuhause obs geht alles...

doof isses nur wenn ich dann zuhause mal nen webserver laufen lassen will oder?
Sigurd
Nee, da musst du den Webserver sowieso natten. Wenn das Konfigurationsfrontend nach außen niccht über Port 80 läuft und du aus der BA über Port 443 ankommst, dann sollte es dir problemlos möglich sein, intern einen Server aufzustellen, der dann auf Port 80 von außen genattet wird. smile.gif