EDV:KIPProxy/SOCKS/SSH4Linux
SSH unter Linux über SOCKS
Problem: Wie erreicht man per ssh Rechner, die sich ausserhalb des KIP befinden? Dazu gibt es verschiedene Möglichkeiten:
- SOCKS konfigurieren und am besten mit netcat verwenden
- connect-proxy installieren
- sconnect kompilieren und ohne spezielle SOCKS konfiguration verwenden
SSH mit (socksifiziertem) netcat
Zuerst müssen wir entweder 'dante' oder 'tsocks' konfigurieren (SOCKS-Konfiguration).
Danach installieren wir 'netcat':
aptitude install netcat
Bei ssh kann in der lokalen .ssh/config einfach ein socksifiziertes netcat aufgerufen werden. Dazu in der lokalen .ssh/config für jeden Host der erreichbar sein soll so eine Zeile einfügen:
ProxyCommand socksify nc %h %p
bzw.
ProxyCommand tsocks nc %h %p
Kurzes Beispiel:
# kip1 (direkt ohne SOCKS) Host kip1 HostName kip1.kip.uni-heidelberg.de # cip1 (mit SOCKS) Host cip1 HostName cip1.kip.uni-heidelberg.de ProxyCommand socksify nc %h %p User hx4
SSH mit connect-proxy
Bei ubuntu gutsy (7.10) ist das Programm 'connect-proxy' verfügbar.
aptitude install connect-proxy
die möglichen Optionen verrät das Programm, wenn man es einfach ohne Optionen aufruft:
# connect-proxy connect --- simple relaying command via proxy. Version 1.96 usage: connect-proxy [-dnhst45] [-p local-port][-R resolve] [-w timeout] [-H proxy-server[:port]] [-S [user@]socks-server[:port]] [-T proxy-server[:port]] [-c telnet-proxy-command] host port
Verwendet wir es genauso wie 'sconnect:
Beispiel: In der Datei ~/.ssh/config :
host * ForwardX11 yes host aixterm* ProxyCommand connect -5 -S proxy.kip.uni-heidelberg.de %h %p
Anschliessend:
ssh <user>@aixterm4.urz.uni-heidelberg.de
Konfig Datei für ssh /etc/ssh/config_ssh
sconnect verwenden
Bei der Anwendung des folgenden HOWTOs beachten Sie folgendes: Die Proxy-Server des KIP erlauben ein SSH-Connect nach aussen. D.h. Sie können sowohl die Optionen
-H proxy.kip.uni-heidelberg.de:8080 -H proxy2.kip.uni-heidelberg.de:8080
als auch
-5 -S proxy.kip.uni-heidelberg.de:1080 -5 -S proxy2.kip.uni-heidelberg.de:1080
verwenden.
Download sconnect (local): sconnect.c source-Datei Download sconnect (local): sconnect binary Download Beispiel-config-Datei (local): config
Deutsches sconnect_ssh HOWTO
Autor: Alexander B. 2002/10/07
Kontakt: wonder_kasnet@gmx.net ICQ#109875755
WAS IST SCONNECT?
"sconnect" ist ein Tool, welches es ermöglicht eine ssh-session durch einen SOCKS5- oder wahlweise einen HTTP-proxy zu tunneln, falls keine direkte Verbindung möglich ist. (Firmennetz z.b.) Download sconnect (local):
Download sconnect: http://zippo.taiyo.co.jp/~gotoh/ssh/connect.html
SCONNECT INSTALLIEREN
- SCONNECT KOMPILIEREN
- stellen sie sicher, dass ein c-compiler (z.B. gcc) und alle zugehörigen Abhängigkeiten auf ihrem System installiert sind
- wechseln sie in das Verzeichnis indem sie "sconnect.c" abgelegt haben
- geben sie folgendendes ein
[root]# gcc -o sconnect connect.c
wenn sie gegenüber sconnect einen anderen Namen für die binary bevorzugen... ;-)
- SCONNECT GLOBAL ERREICHBAR MACHEN
- kopieren sie sconnect z.b. einfach nach "/usr/local/bin"
- SSH VORBEREITEN
- öffnen sie "~/.ssh/config" mit einem Editor ihrer Wahl. Falls diese Datei nicht vorhanden sein sollte, erstellen sie sie bitte
- stellen sie sicher, dass diese Einträge:
für SOCKS5 :ProxyCommand /usr/local/bin/sconnect -4 -S yoursocks5.proxy:port %h %p
oder für HTTP:ProxyCommand /usr/local/bin/sconnect -H yourhttp.proxy:port %h %p
vorhanden sind - speichern sie die Datei ;-)
- VERBINDUNG MIT EINEM SSH SERVER AUFBAUEN
- es wurden alle nötigen Änderungen vorgenommen, starten sie "ssh" mit den selben Parametern wie sie es gewohnt sind. sconnect wird automatisch aktiv.
Erstellt: 2002-10-24 Autor:Alexander B (wonder_kasnet@gmx.net)
Letztes Update: 2003-05-26 URL: http://www.tuxhausen.de/sconnect_ssh_howto.html