SSH Tunnel im Hintergrund
lima-city → Forum → Heim-PC → Software
bleibe
code
dank
frage
ftp
hintergrund
kost
machen
nutz
ordner
port
programm
server
set
shell
sicheren server
starten
tunnel
url
windows
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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.
-
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. -
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 -
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:
• Leg im Autostart-Ordner eine Verknüpfung zu »wscript.exe« an. Editier anschließend die Verknüpfung und änder das »Target« aufOption 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
Natürlich musst du die Parameter entsprechend anpassen …C:\Windows\System32\wscript.exe sshtunnel.vbs 1080 sshkey.ppk username example.com
• 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 -
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 -
Ohne es spontan verifizieren zu können müsste das ganze auch über Powershell gehen, oder?
-
augur schrieb:
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.
Ohne es spontan verifizieren zu können müsste das ganze auch über Powershell gehen, oder?
Aufzurufen mitif($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 }
Oder man spart sich das Script und macht es so:powershell -windowstyle hidden "set-executionpolicy bypass process; .\sshtunnel.ps1 1080 c:\ssh\sskey.ppk username example.com"
Auch möglich.powershell -windowstyle hidden while(1) { plink -batch -N -T -C -D 1080 -i sshkey.ppk -l username example.com }
Beitrag zuletzt geändert: 5.1.2014 11:50:48 von hackyourlife -
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.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage