Netbeans schlägt den FTP-Upload fehl, wenn die Verschlüsselung aktiviert ist

815
user1111929

Ich habe vor kurzem zu einem neuen Webhost gewechselt, und sie bieten FTP statt SFTP an. Kein Problem, mein regulärer Client (WinSCP) erledigt dies einwandfrei, auch mit (expliziter) Verschlüsselung. Wenn ich jedoch NetBeans so konfiguriere, dass Dateien beim Speichern automatisch mit Verschlüsselung hochgeladen werden, wird beim Aktivieren von inc ein seltsamer Fehler angezeigt.

220 ProFTPD Server ready. AUTH TLS 234 AUTH TLS successful USER my_username 331 Password required for my_username PASS ****** 230 User my_username logged in PBSZ 0 200 PBSZ 0 successful PROT P 200 Protection set to Private TYPE I 200 Type set to I CWD /domains/mydomain.org/public_html/dev2 250 CWD command successful PWD 257 "/domains/mydomain.org/public_html/dev2" is the current directory CWD /domains/mydomain.org/public_html/dev2/js 250 CWD command successful PASV 227 Entering Passive Mode (185,182,56,157,137,191). STOR examplefile.js.new 150 Opening BINARY mode data connection for examplefile.js.new 425 Unable to build data connection: Operation not permitted PASV 227 Entering Passive Mode (185,182,56,157,138,255). STOR examplefile.js.new 150 Opening BINARY mode data connection for examplefile.js.new 425 Unable to build data connection: Operation not permitted PASV 227 Entering Passive Mode (185,182,56,157,139,229). STOR examplefile.js.new 150 Opening BINARY mode data connection for examplefile.js.new 425 Unable to build data connection: Operation not permitted DELE examplefile.js.new 250 DELE command successful QUIT 221 Goodbye. 

Ich bin verwirrt. Ich kann mich perfekt einloggen und sogar CWD / DELE, aber ich kann keine Dateien hochladen. Beim Googeln wurde auf den Wechsel in den aktiven Modus verwiesen. Dies führt jedoch nur zu einer ewigen Synchronisierungsnachricht, gefolgt von einem Timeout. Und es funktioniert einwandfrei, wenn Sie die Verschlüsselung ausschalten oder sogar den "nur verschlüsselten Authentifizierungsprozess" überprüfen. Aber das ist nicht das, was ich will, da ich manchmal Passwörter in Klartext in meiner PHP-Konfigurationsdatei übertragen muss.

Wie kann ich Netbeans Dateien korrekt auf meinen Host hochladen, ähnlich wie andere Programme (z. B. WinSCP)? Ich habe die Protokolle von WinSCP geprüft und sie verschlüsseln auch die Datenübertragung.

0

1 Antwort auf die Frage

2
Steffen Ullrich

FTP ist ein Protokoll, das die Daten mit separaten Verbindungen überträgt und die für diese Verbindungen verwendeten Ports innerhalb der Steuerverbindung austauscht. Dies macht es für Firewalls sehr problematisch, da sie entweder eine breite Palette möglicher Ports zulassen müssen (was den Schutz durch die Firewall schwächt), oder sie ermitteln am besten, welche Ports verwendet werden, und erstellen dynamisch Firewall-Regeln, um die spezifische Datenübertragung zuzulassen. Letzteres wird durch Analysieren des Datenstroms und Extrahieren und Analysieren von PORT-Befehlen (aktiver Modus) oder der Antwort auf PASV (passiver Modus) durchgeführt.

Diese Art der Analyse funktioniert gut, wenn die Kontrollverbindung nicht verschlüsselt ist. Bei verschlüsselten Steuerungsverbindungen schlägt dies jedoch fehl, da die Firewall die PORT-Befehle und -Antworten auf PASV nicht mehr klar sehen kann und somit dynamisch die entsprechenden Firewall-Regeln für die Datenverbindungen erstellt. Und das führt zu den Problemen, die Sie sehen.

Um dieses FTPS zu umgehen (dh FTP über SSL, im Gegensatz zu SFTP, bei dem die Dateiübertragung über SSH erfolgt), bietet der CCC-Befehl den Befehl, den Steuerkanal nach der Authentifizierung wieder auf "clear" zu setzen, sodass die dynamische Regelerstellung wieder funktioniert . Aber es sieht so aus, als würde Netbeans dies nicht verwenden. Ich bin nicht mit den Konfigurationsmöglichkeiten in Netbeans vertraut, suche jedoch nach Optionen, wie die Verschlüsselung nur für die Authentifizierung oder ähnliches aktiviert werden kann. Wenn dies nicht der Fall ist, haben Sie wahrscheinlich kein Glück und müssen entweder die Verschlüsselung deaktivieren oder alle Firewalls schwächen, die den Datenverkehr beeinträchtigen könnten. Beachten Sie, dass in manchen Fällen keine echte Firewall für die Probleme verantwortlich ist, sondern für die NAT-Übersetzung, die von Routern oder ISPs durchgeführt wird, normalerweise auch im Zusammenhang mit mobilen oder DS-Lite-Verbindungen.

"Suche nach Optionen, wie die Verschlüsselung nur für die Authentifizierung oder ähnliches aktiviert werden kann" -> diese Option ist vorhanden, wie ich sie auch in meinem Post geschrieben habe, und funktioniert mit dieser Option, aber jetzt werden die hochgeladenen Dateien nicht verschlüsselt. richtig? Es kann nicht die Absicht sein, dass jeder mitlesen kann, wenn ich Sachen hochlade oder herunterlade ... user1111929 vor 6 Jahren 0
@ user1111929: Theoretisch kann die Steuerverbindung mit "CCC" wieder in die Normalebene umgeschaltet werden, die Dateiübertragung wird jedoch weiterhin verschlüsselt. Ich weiß nicht, ob Netbeans dies unterstützt, aber wenn Sie mit einer erfolgreichen Antwort des Servers in der Debug-Ausgabe "PROT P" finden, wissen Sie, dass die Datenübertragung verschlüsselt wird. Steffen Ullrich vor 6 Jahren 0
Leider scheint dies nicht der Fall zu sein: Wenn Sie "Nur Authentifizierungsverfahren verschlüsseln" aktivieren, wird folgende Ausgabe ausgegeben: https://pastebin.com/DnmXwEJ2, und es enthält nicht mehr PROT P (solange diese Option verwendet wurde) deaktiviert). Also ... verstehe ich richtig, dass dies ein Problem von Netbeans ist (und kein Problem mit meinem Host)? Soll ich einen Fehlerbericht bei ihnen einreichen oder kann ich selbst etwas tun? user1111929 vor 6 Jahren 0
@ user1111929: Wenn Sie dies für ein Netbeans-Problem halten oder dies als Unfähigkeit betrachten, wenn Ihr Host SFTP anstelle von nur FTP (S) unterstützt, oder wenn Sie dies für ein Problem mit Ihrer Internetverbindung halten, da eine Firewall und / oder eine Firewall vorhanden ist Es liegt an Ihnen, wie NAT mit der Verbindung herumfummelt - eine Korrektur dieser Probleme würde wahrscheinlich Ihr Problem lösen. Steffen Ullrich vor 6 Jahren 1