
Ich habe Stunden damit verbracht, Super/Stack und andere Websites zu überprüfen, und habe die Antwort noch nicht gefunden. Also werde ich versuchen, hier noch einmal nachzufragen. Ich möchte auf einige Teilantworten hinweisen, die ich in Links gefunden habe, aber sie sind so verworren oder nur halb beantwortet, dass ich glaube, dass sie die Sache für jeden, der dies liest, noch schlimmer machen.
Bisher konnte ich einen Apache-Server auf meinem lokalen PC mit einem selbst signierten Zertifikat einrichten. Mein Router hat die Portweiterleitung 443 zu diesem Server eingerichtet. Außerdem läuft OpenSSH auf Port 22 meines lokalen PCs. Mein Ziel ist:
Ich möchte in der Lage sein, von Putty/WinSCP aus eine Verbindung zu meinem PC über Port 22 herzustellen, getunnelt durch die 443-SSL-Verbindung, und über SOCKS zu browsen, als ob ich mich auf dem besagten PC befände.
Ich könnte Stunnel, SSHL, HTTPProxy, Httptunnel, Corkscrew clientseitig oder alles andere ausprobieren, was mir jemand genau erklären kann (oder einen Link zu einer Anleitung enthält), aber es muss unter Windows laufen.
Ich würde es vorziehen, den Apache-Server (mod_proxy / Proxy-Pass?) so einzurichten, dass er (von selbst?) die eingehende 443 an Port 22 weiterleitet, damit OpenSSH die Verbindung herstellen und SOCKS zum Durchsuchen verwenden kann.
HINWEIS: Hier ist eine Beschreibung des Ablaufs. Ich kann kein VPN verwenden (bin bereits auf einem) und ich kann 443 nicht auf SSH verwenden, da die Layer 7 FW das SSH-Protokoll sieht und blockiert. Der Client-PC ist bereits auf VPN, daher kann kein VPN verwendet werden.
Win PcA > Win ServerB, auf dem etwas läuft (Apache/Nginx?) {SSL}
Senden Sie dann bei aktivem und verschlüsseltem HTTPS:
Win PcA > Win ServerB mit OpenSSH {SSH} über WinSCP oder Putty für SFTP
und
Win PcA > Win ServerB mit OpenSSH {SSH} über Putty für SOCKS über den Browser
Dies dient hauptsächlich zu Informationszwecken, aber mir ist klar, dass es auch zum FW-Punching dient. Da dies alles meine Computer sind, kann ich bei Bedarf Software auf der Clientseite installieren, aber am besten wäre es, keine Software außer Putty/WinSCP und einem Browser zu haben. Ich kann den Proxy-Port auf der Clientseite ändern. Wenn ich dies also jemals von einem PC aus ausführen muss, der mir nicht gehört, kann ich höchstwahrscheinlich mit Putty/WinSCP auskommen, ohne dass Flags ausgelöst werden oder Administratorrechte erforderlich sind.
Ich habe von Squid und Ngnix als Proxyserver auf der Serverseite gehört, aber derzeit läuft bei mir Apache 2.4. Ich denke, ich könnte es ändern. Im Grunde möchte ich eine Art Endpunkt für Internetbrowser (über SOCKS-Proxy) und Dateiübertragung (über 22, vollständig in SSL verborgen) erstellen, den ich von überall aus erreichen kann und der nicht blockiert wird, solange das Netzwerk, in dem ich mich befinde, SSL-Verbindungen zulässt.
Die Anleitungen zum Einrichten von Apache und eines selbst signierten Zertifikats haben mich bis hierhin gebracht … jetzt stehe ich vor zu vielen Optionen. Danke fürs Lesen.
Bearbeiten: Es gibt Fragen wie diese, auf die es keine Antworten gibt und die verwirrend sind. Aber für mich ist nichts vollständig. Außerdem bin ich mir nicht sicher, ob meine Frage richtig formatiert ist. Bin neu hier.
Antwort1
SSH verwendet bereits SSL, um den Datenverkehr zu verschlüsseln. Um den (oft) erlaubten HTTPS-Port tcp/443 für die Verbindung mit Ihrem SSH-Heimserver zu verwenden, müssen Sie nur sowohl Ihren SSH-Client als auch Ihren SSH-Server so konfigurieren, dass sie Port tcp/443 verwenden. WinSCP als Client ermöglicht dies. Abhängig von der für den SSH-Server verwendeten Software sollte dies ebenso möglich sein wie die Installation Ihres eigenen SSL-Zertifikats.
Sie müssen hierfür nicht unbedingt Apache installiert haben. Da Apache die SSL-Verbindung beenden würde, wäre verschlüsselter Datenverkehr von dort zu einem lokalen SSH-Server nicht möglich (aber z. B. unverschlüsseltes Telnet).
Wenn Sie die Anwendungserkennung umgehen müssen, könnten Sie einen SSL-VPN-Tunnel erstellen, über den Sie einen SSH-Tunnel starten würden ... einen Teil davon erwähnen Sie mit Apache + OpenSSH. Sie benötigen eine zusätzliche Software für den SSL-VPN-Server, wie (?) OpenVPN, die überhaupt kein Teil von Apache ist.
Antwort2
Ich weiß nicht viel über VMs, gehe also davon aus, dass Sie mit VM-Problemen umgehen können. Dieser Leitfadensollte helfen.
Sie richten einen Stunnel4-Server wie in der Anleitung ein (ändern Sie die Verbindung auf 127.0.0.1:22 und akzeptieren Sie sie auf 443) und erstellen dann den SSH-Server wie gewohnt.
Danach gehen Sie zum Client-PC-Download und dieStunnel-Client, klicken Sie mit der rechten Maustaste auf das Tray-Symbol und gehen Sie zuKonfiguration bearbeitenkopiere dies (ändere die IP):
[ssh]
client = yes
accept = 127.0.0.1:22
connect = [ip address of the server]:443
Gehen Sie nun zurück zum Menü und klicken Sie aufKonfiguration neu laden. Und Sie sind fertig; Sie sollten sich einfach mit SSH verbinden, aber mit 127.0.0.1:22.