EDV:KIPProxy/SOCKS/SSH4Linux

From KIP Wiki
⧼kip-jumptonavigation⧽⧼kip-jumptosearch⧽

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):

sconnect.c (version 1.84)

sconnect.c (version 1.69)

Download sconnect: http://zippo.taiyo.co.jp/~gotoh/ssh/connect.html

SCONNECT INSTALLIEREN

  1. 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... ;-)
  2. SCONNECT GLOBAL ERREICHBAR MACHEN
    • kopieren sie sconnect z.b. einfach nach "/usr/local/bin"
  3. 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 ;-)
  4. 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