kostenloser Webspace werbefrei: lima-city


SSH Tunnel im Hintergrund

lima-cityForumHeim-PCSoftware

  1. Autor dieses Themas

    g****e

    Moin Leutz,
    ich habe mal eine Frage: Ich suche eine Software, für Windows (ich benutze Win8.1) für einen SSH Tunnel. Hintergrund ist, dass ich in meiner arbeitsbedingten Bleibe nur ein offenes WLAN habe, dem traue ich, paranoid wie ich bin, nicht so sehr. Da ich von einem Kollegen einen SSH Zugang zu einem Server habe (dem ich auch traue), möchte ich gerne einen großteil meines Traffics darüber Tunneln.
    Nun, natürlich soll so ein SSH Tunnel nur im Hintergrund laufen, und eigentlich möchte ich davon garnichts sehen. Daher suche ich eine Software, die einen Tunnel auf macht, mir mittels eines SOCKS5 Proxys Zugriff darauf gibt (wie Putty halt) und im Tray verschwindet. Automatische Wiederverbindung, Verbinden nach Reboot, sowas "angenehmes" wäre erwünscht. OpenSource wäre mir am liebsten, aber man kann nicht alles haben.
    Imo nutze ich PuttyTray, da muss ich aber halt so viel von Hand machen (ich bin faul, und Fragen kost nix).

    Ich habe mir schon nen paar Programme angeschaut, MyEncTunnel zb, aber das kann garnicht erst einen Tunnel starten (kann plink nicht starten, warum auch immer). SSHTunnler hatte ich auch, das hat aber keinen Proxy zur Verfügung gestellt irgendwie (ich vllt auch zu doof?), und dannach endets bei mir irgendwie mit Ahnung.
    Darum frag ich mal, was ihr so kennt.

    Liebe Grüße
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Du solltest dich am besten einfach per VPN mit dem Server verbinden. Da brauchst du auch keine extra Software und dann dein ganzer Traffic zwischen deinem PC und dem Server ist verschlüsselt.
  4. all-in1 schrieb:
    Ich arbeite mit WinSCP das kann sowohl SSH als auch SFTP oder FTP. Ob es allerdings das kann, was du dir vorstellst weiß ich nicht.


    WinSCP kann definitiv keinen Tunnel aufbauen! Es ist ja ein Datentransfer Programm.

    @ggamee: Wenn du von putty sprichst, warum nutzt du es dann nicht ;-)
    Über die Tunnel Option (Connection --> SSH --> Tunnels) kannst du einen oder mehrere Ports an deinem Rechner auf einen anderen Server umbiegen.
    Allerdings weiss ich nicht genau was du mit diesem Tunnel konkret bezwecken willst? Willst du dein komplettes Surfen über diesen "sicheren" Server umleiten? Dann ist ein VPN sicher die bessere Variante.
    Oder willst du nur bestimmte Funktionen (zB FTP) umleiten? Dann könntest du die Tunnel Variante nutzen.
    In beiden Fällen wirst du aber auch etwas an dem "sicheren Server" machen müssen.
  5. Autor dieses Themas

    g****e

    VPN ist keine Alternative. Ich nutze als Server den Server eines Freundes. Auf dem sind Ressourcen leider kostbar (Spieleserver), daher wäre ein VPN Deamon zu viel.
    Imo nutze ich auch Putty, nur ist Putty finde ich ein bisschen "umständlich" und "overkill" dafür, dass ich eine Tunnelverbindung ohne Terminal als SOCKS5 Proxy benötige. Und da ich selbst keine passende Alternative gefunden habe, dacht ich halt, fragst mal, kost ja nix^^
    Wenn nichts alternatives hilft, was sich quasi auf diese kleine Aufgabe beschränkt bleibe ich auch bei Putty.

    Liebe Grüße
  6. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Das geht doch ganz einfach:
    • Leg die plink.exe irgendwo in den Pfad
    • Erstell eine Datei namens »sshtunnel.vbs« (oder so) und befüll sie mit folgendem Inhalt:
    Option Explicit
    
    Dim args
    Dim port
    Dim sshkey
    Dim username
    Dim server
    Dim command
    Dim shell
    
    Set args = WScript.Arguments
    
    Set shell = WScript.createObject("WScript.Shell")
    
    If args.Count <> 4 Then
    	WScript.Echo("Usage: sshtunnel.vbs port sshkey username server")
    	WScript.Quit(1)
    End If
    
    port = args.Item(0)
    sshkey = args.Item(1)
    username = args.Item(2)
    server = args.Item(3)
    
    command = "plink -batch -N -T -C -D " & port & " -i " & sshkey _
    	& " -l " & username & " " & server
    
    Do
    	shell.Run command, 0, True
    Loop
    • Leg im Autostart-Ordner eine Verknüpfung zu »wscript.exe« an. Editier anschließend die Verknüpfung und änder das »Target« auf
    C:\Windows\System32\wscript.exe sshtunnel.vbs 1080 sshkey.ppk username example.com
    Natürlich musst du die Parameter entsprechend anpassen …
    • Als »Start in« gibst du du den Ordner an, in dem die sshtunnel.vbs liegt.
    • PC neu starten oder die Verknüpfung öffnen, und siehe da, es passiert … nix. Der Task-Manager zeigt aber einen wscript-Prozess sowie einen plink-Prozess.

    Das wars.

    Was passiert:
    Bei jedem Systemstart wird das Script gestartet, das per plink ein SOCKS5-Proxy aufbaut. Zur Authentifizierung wird ein SSH-Key verwendet, alternativ »könnte« auch ein Passwort angegeben werden (dazu muss das Script aber angepasst werden, plink-Parameter = »-pw«). Wenn der plink-Prozess stirbt wird er automatisch vom Script neu gestartet.

    NTC = keinen Befehl / Shell ausführen, kein PTY anfordern, Kompression aktivieren

    Nachteil:
    Es gibt keine einfache Möglichkeit das Script wieder zu stoppen. Wie es dennoch funktioniert: zuerst wscript.exe töten, danach plink (sonst wird das natürlich gleich wieder neu gestartet). Im Tray taucht auch kein Icon auf oder so, das Script läuft wie ein Daemon.

    Wie du siehst braucht es dazu nur etwas Windows-Scripting-Magie, irgendwelche Programme suchen ist völlig unnötig ;-)

    Beitrag zuletzt geändert: 4.1.2014 19:24:36 von hackyourlife
  7. Autor dieses Themas

    g****e

    Ui, an so eine Lösung hatte ich noch garnicht gedacht, danke. Das ist eigentlich eine sehr gute Idee :)
    Dass VBS in Win8 noch existiert wusste ich garnicht, aber nu kann ich ein bisschen damit spielen^^
    Danke

    Liebe Grüße
  8. Ohne es spontan verifizieren zu können müsste das ganze auch über Powershell gehen, oder?
  9. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    augur schrieb:
    Ohne es spontan verifizieren zu können müsste das ganze auch über Powershell gehen, oder?
    Ja, geht auch, die Frage ist nur, ob man das will, schließlich gibts da so hässliche Sicherheitsregeln, die man zuerst mal anpassen muss, um überhaupt Scripts ausführen zu können.
    if($args.length -ne 4) {
    	echo "Usage: sshtunnel.ps1 port sshkey username server"
    	exit 1
    }
    
    $port = $args[0]
    $sshkey = $args[1]
    $username = $args[2]
    $server = $args[3]
    
    while(1) {
    	plink.exe -batch -N -T -C -D $port -i $sshkey -l $username $server
    }
    Aufzurufen mit
    powershell -windowstyle hidden "set-executionpolicy bypass process; .\sshtunnel.ps1 1080 c:\ssh\sskey.ppk username example.com"
    Oder man spart sich das Script und macht es so:
    powershell -windowstyle hidden while(1) { plink -batch -N -T -C -D 1080 -i sshkey.ppk -l username example.com }
    Auch möglich.

    Beitrag zuletzt geändert: 5.1.2014 11:50:48 von hackyourlife
  10. Ja, warum das Scripting grundsätzlich deaktiviert ist find ich irgendwie auch blöd, aber für unbedarfte Benutzer sicherlich sinnvoll. Wenn sich ggamee sicher ist mit seinem Rechner kann er das Scripting ja aktivieren.
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!