
🚀 SSL/TLS kreves på datakanalen-feil under FTP-tilkobling: slik fikser du det
Du kobler til en server via FTP gjennom kodeeditoren din, skriver inn vert, brukernavn og passord, og får en rød linje som svar: SSL/TLS required on the data channel. Høres det kjent ut? Denne feilen oppstår når serveren krever en kryptert tilkobling, men klienten prøver å koble til over vanlig FTP. Dette skjer spesielt ofte hos hostingleverandører med selvsignerte sertifikater.
Tidligere ble dette problemet løst i Atom via Remote FTP-pluginen. Atom døde i desember 2022, men feilen har ikke forsvunnet noe sted. Den lever videre i VS Code, FileZilla, Pulsar og enhver FTP-klient som kobler til en server med et selvsignert SSL-sertifikat.
I dette innlegget får du tre fungerende måter å omgå SSL/TLS required on the data channel på: for Atom/Pulsar via .ftpconfig, for VS Code via SFTP-utvidelsen og for GUI-klienter som FileZilla. Pluss en viktig advarsel: når rejectUnauthorized: false er en akseptabel løsning, og når det er et sikkerhetshull.
💡 Rask oversikt:
- Hvor feilen kommer fra: serveren krever TLS, klienten sender vanlig FTP, tilkoblingen brytes på datakanalstadiet.
.ftpconfigmedrejectUnauthorized: falseogsecure: trueer løsningen for Atom og forgreningen Pulsar som fungerer med Remote FTP-pluginen.- I VS Code løser SFTP-utvidelsen fra liximomo med parameteren
secure: truedet samme problemet påsftp.json-konfigurasjonsnivå. - I FileZilla og andre GUI-klienter bytter du ganske enkelt protokoll fra FTP til FTPS (Eksplisitt TLS) og aksepterer sertifikatet manuelt.
- Sikkerhet:
rejectUnauthorized: falsedeaktiverer sertifikatverifisering og er kun akseptabelt for utviklingsservere og testmiljøer, aldri i produksjon.
Hvor feilen SSL/TLS required on the data channel kommer fra
FTP-protokollen fungerer via to kanaler: kontrollkanal (kommandoer) og datakanal (selve filoverføringen). Når serveren er konfigurert for FTPS (FTP over TLS), krypterer den begge. En klient som prøver å koble til via vanlig FTP, består autentiseringen på kontrollkanalen, men når den forsøker å åpne datakanalen, svarer serveren: 550 SSL/TLS required on the data channel.
Den tekniske årsaken ligger i TLS-implementeringen på Node.js-siden (som både Remote FTP for Atom og VS Code SFTP-utvidelsen er bygget på). Node.js validerer SSL-sertifikater som standard. Et selvsignert sertifikat stryker på denne valideringen, og tilkoblingen brytes. Løsningen: enten be klienten eksplisitt om ikke å verifisere sertifikatet (rejectUnauthorized: false), eller bytte til eksplisitt FTPS med manuell aksept av sertifikat.
Løsning 1: riktig.ftpconfig for Atom og Pulsar
Atom ble offisielt avviklet i desember 2022, men forgreningen Pulsar (tidligere Atom) er fullt kompatibel med Atom-pakker, inkludert Remote FTP. Løsningen er å spesifisere riktige secureOptions i .ftpconfig.
Opprett (eller rediger) .ftpconfig-filen i prosjektroten:
1 { 2 "protocol": "ftp", 3 "host": "your.server.com", 4 "port": 21, 5 "user": "login", 6 "pass": "password", 7 "promptForPass": false, 8 "remote": "/", 9 "secure": true, 10 "secureOptions": { 11 "rejectUnauthorized": false 12 }, 13 "connTimeout": 10000, 14 "keepalive": 10000 15 }
Nøkkelparametere:
secure: trueaktiverer TLS for både kontroll- og datakanal;rejectUnauthorized: falsedeaktiverer sertifikatverifisering (Node.js slutter å kreve et gyldig sertifikat fra serveren);port: 21er standardporten for FTP; for FTPS via implisitt TLS, bruk port 990 ogprotocol: "ftps".
Etter at du har lagret .ftpconfig, koble til serveren på nytt, så vil feilen SSL/TLS required on the data channel forsvinne.
Løsning 2: konfigurering av SFTP-utvidelsen i VS Code
Den mest populære utvidelsen for FTP/SFTP i VS Code er SFTP fra liximomo (over 1,3 millioner installasjoner). Feilen 550 SSL/TLS required on the control channel er diskutert i issue #872.
Etter at du har installert utvidelsen, kjør Ctrl+Shift+P → SFTP: Config, så åpnes sftp.json-filen. Konfigurer den som følger:
1 { 2 "name": "My server", 3 "host": "your.server.com", 4 "protocol": "ftp", 5 "port": 21, 6 "secure": true, 7 "username": "login", 8 "password": "password", 9 "remotePath": "/", 10 "uploadOnSave": true 11 }
Parameteren secure: true er en direkte ekvivalent til rejectUnauthorized: false fra .ftpconfig. Den ber utvidelsen om å bruke FTPS og ikke droppe tilkoblingen når den møter et selvsignert sertifikat.
Hvis serveren bruker implisitt FTPS (port 990), endre protocol til ftps og port til 990. Lagre sftp.json, kjør SFTP: Download Project, så vil utvidelsen koble til og laste ned innholdet i remotePath.
Løsning 3: FileZilla og andre GUI-klienter
I GUI-klienter løses problemet enda enklere på grensesnittnivå. I FileZilla:
- Åpne Serveradministrasjon (
Ctrl+S). - Velg tilkoblingen, og i feltet Protokoll bytt fra
FTPtilFTP over TLS (explicit). - Ved første tilkobling vil FileZilla vise en dialog med sertifikatets fingeravtrykk; klikk Stol på dette sertifikatet og kryss av for «Stol alltid på».
Samme prinsipp fungerer i WinSCP, Cyberduck og enhver moderne FTP-klient: spesifiser FTPS-protokollen eksplisitt og aksepter sertifikatet manuelt. Ingen konfigurasjonsfiler, bare grensesnittet.
Når du IKKE bør deaktivere sertifikatverifisering
rejectUnauthorized: false er en bevisst svekkelse av sikkerheten. Du sier til klienten: «aksepter ETHVERT sertifikat, selv et forfalsket». Dette er akseptabelt i tre tilfeller:
- En lokal utviklingsserver eller staging-miljø som ikke er tilgjengelig fra internett.
- Din egen VPS, der du vet nøyaktig hvor sertifikatet kom fra.
- Et testmiljø bak et bedrifts-VPN.
På en produksjonsserver med et selvsignert sertifikat er det bedre å bruke 15 minutter på å sette opp Let's Encrypt, et gratis SSL-sertifikat som alle klienter gjenkjenner uten rejectUnauthorized: false.
Se denne korte veiledningen om SFTP-tilkobling i VS Code, som dekker alle trinn fra installasjon av utvidelsen til første servertilkobling:
⁉️🤔 Ofte stilte spørsmål
Feilen vedvarer etter secure: true; hva annet bør jeg sjekke?
Først, sjekk porten. Eksplisitt FTPS fungerer på port 21, implisitt på 990. Hvis serveradministratoren krever implisitt FTPS, men du spesifiserte
protocol: "ftp"medport: 21, vil ikke tilkoblingen etableres uansett hvor mye du endrersecureOptions. Sjekk kontrollpanelet for hostingen din eller spør administratoren hvilken FTPS-modus serveren bruker.
Kan jeg bruke SFTP i stedet for FTPS?
Ja, og dette er det foretrukne alternativet. SFTP (SSH File Transfer Protocol) fungerer over SSH, ikke FTP, så SSL-sertifikatproblemer eksisterer rett og slett ikke for det. Hvis serveren tilbyr SSH-tilgang, bruk SFTP i stedet for FTPS. I den samme
.ftpconfigendrer du bareprotocoltilsftpogporttil22.
Atom er avviklet; fungerer Remote FTP fortsatt?
Remote FTP-pakken er tilgjengelig i Atom-repositoriet, men editoren selv har ikke blitt oppdatert siden desember 2022 og inneholder kjente sårbarheter. GitHub tilbakekalte til og med kodesigneringssertifikatene for Atom i januar 2023. Hvis Atom fortsatt starter på maskinen din, migrer til Pulsar-forgreningen, som henter de samme pakkene og konfigurasjonene uten endringer.
Hva med VS Code Remote SSH?
Remote SSH er et utmerket alternativ til FTP-tilkoblinger hvis serveren kjører Linux og har SSH-tilgang. Du jobber med filer direkte, uten synkronisering og sertifikatproblemer. Men for delt hosting der SSH er stengt og tilgang kun er via FTP, forblir løsningene i dette innlegget relevante.
Feilen SSL/TLS required on the control channel (ikke datakanal): er dette det samme?
Ja, den eneste forskjellen er hvilken kanal tilkoblingen ble brutt på. Kontrollkanalen håndterer kommandoer (autentisering, navigasjon), datakanalen håndterer filoverføring. Serveren kan kreve TLS på hvilken som helst av dem. Løsningen er identisk:
secure: true+rejectUnauthorized: falsei konfigurasjonen.
Feilen vedvarer: endelig sjekkliste
Gå gjennom punktene; ett av dem vil løse problemet:
- Protokoll: er
secure: truesatt i konfigurasjonen (.ftpconfigellersftp.json)? - Port: eksplisitt FTPS = 21, implisitt = 990, SFTP = 22. Sjekk mot serverinnstillingene.
- rejectUnauthorized: et selvsignert sertifikat vil IKKE bestå Node.js-validering uten dette alternativet.
- GUI-klient: byttet du Serveradministrasjon til
FTP over TLS (explicit)og aksepterte sertifikatet manuelt? - SFTP i stedet for FTPS: hvis du har SSH-tilgang, glem FTP og bytt til SFTP.
Hvis du har prøvd alt og feilen vedvarer, er serveren mest sannsynlig konfigurert for implisitt FTPS (port 990), mens klienten kobler til port 21. Sjekk med hostingleverandøren din for nødvendig modus og port.
Denne feilen er ikke en editorfeil, men et trekk ved TLS-håndtrykket med et selvsignert sertifikat. Etter riktig konfigurasjonsoppsett forsvinner den på enhver klient: enten i Atom fra 2018, Pulsar fra 2026 eller VS Code.



