Сайт файлларини хостингга юклашнинг энг кенг тарқалган усулларидан бири ҳамон FTP. Аммо оддий FTP логин, парол ва файлларнинг ўзини очиқ матн кўринишида узатади: умумий Wi-Fi тармоғида ёки йўлдаги исталган бўғинда бу маълумотларни ушлаб олиш мумкин. SFTP эса SSH протоколи устида ишлайди ва бутун уланишни шифрлайди. Интерфейс жиҳатидан фарқ деярли сезилмайди — ўша икки панелли ойна, ўша судраб ташлаш — лекин хавфсизлик даражаси бутунлай бошқа. Ушбу мақолада Windows фойдаланувчилари орасида энг машҳур икки дастур, FileZilla ва WinSCP'да SFTP уланишни қандай созлашни кўриб чиқамиз.
SFTP, FTP ва FTPS: фарқи нимада
Номлар ўхшаш бўлгани учун улар кўпинча чалкаштирилади. FTP — эски, шифрланмаган протокол, одатда 21-портда ишлайди. FTPS — ўша FTP, лекин TLS шифрлаши қўшилган. SFTP эса умуман бошқа протокол: у SSH ичида ишлайди ва одатда SSH билан бир хил портдан, кўпинча 22-портдан фойдаланади. Шунинг учун SFTP ишлаши учун хостинг аккаунтингизда SSH кириш ёқилган бўлиши керак. sayt.uz мижозлари бу имконият ўз тарифида бор-йўқлигини sayt.uz кабинетидан ёки техник ёрдам орқали аниқлашлари мумкин. Агар SSH бўлмаса, ҳеч бўлмаганда FTPS (FTP over TLS) дан фойдаланинг.
Уланиш учун керакли маълумотлар
Ҳар икки дастурда ҳам тўртта асосий майдон бор. Уларни олдиндан тайёрлаб қўйинг:
- Хост — сервер номи ёки IP манзил, хостинг маълумотларида кўрсатилган бўлади (масалан,
server.misol.uz). - Порт — одатда 22; серверингизда бошқа порт бўлса, хостинг маълумотларида ёзилган бўлади.
- Фойдаланувчи — хостинг логини.
- Парол ёки SSH калит — калит хавфсизроқ, айниқса файлларни тез-тез юкласангиз.
ISPmanager панелида сайт файллари одатда /var/www/login/data/www/misol.uz кўринишидаги папкада жойлашади. SFTP орқали уланганингизда сиз ўз уй каталогингизга тушасиз, у ердан www папкаси ва домен номидаги папкага ўтасиз.
FileZilla'да созлаш
FileZilla'ни расмий сайтидан юклаб олинг ва ўрнатиш пайтида қўшимча дастурлар таклиф қилинса, уларни рад этинг. Кейин "File" менюсидан "Site Manager" ойнасини очинг ва янги сайт қўшинг. "Protocol" майдонида "SFTP - SSH File Transfer Protocol" ни танланг, "Host" ва "Port" майдонларини тўлдиринг. "Logon Type" рўйхатида парол билан кириш учун "Normal" ёки "Ask for password" ни, калит билан кириш учун "Key file" ни танланг.
"Key file" танланганда махфий калит файлини кўрсатасиз. FileZilla PuTTY форматидаги .ppk калитни тўғридан-тўғри қабул қилади, OpenSSH форматидаги калитни (масалан, id_ed25519) танласангиз, уни ўз форматига ўгиришни таклиф қилади. "Connect" тугмасини босганингиздан кейин биринчи марта "Unknown host key" ойнаси чиқади — сервер бармоқ изини хостинг маълумотлари ёки техник ёрдам берган қиймат билан солиштиринг ва мос келса, "Always trust this host" белгисини қўйиб тасдиқланг.
Муҳим эслатма: FileZilla сақланган паролларни ўз созлама файлида сақлайди. Унинг янги версияларида "Settings" бўлимида мастер парол ўрнатиш имконияти бор, шунинг учун парол сақласангиз, буни албатта ёқинг ёки калит билан киришга ўтинг.
WinSCP'да созлаш
WinSCP очилганда дарҳол "Login" ойнаси чиқади. "New Site" ни танланг, "File protocol" майдонида "SFTP" ни қолдиринг, "Host name", "Port number" ва "User name" майдонларини тўлдиринг. Парол билан кирсангиз, уни шу ерда ёзасиз ёки ҳар сафар сўралишини танлайсиз. Калит билан кириш учун "Advanced" тугмасини босиб, "SSH" бўлимидаги "Authentication" саҳифасига ўтинг ва "Private key file" майдонида калитингизни кўрсатинг. WinSCP ҳам OpenSSH форматидаги калитни танлаганингизда уни .ppk га ўгиришни таклиф қилади.
WinSCP'нинг фойдали хусусиятларидан бири — сервердаги файлни тўғридан-тўғри таҳрирлаш. Файлни икки марта боссангиз, у ички ёки сиз танлаган муҳаррирда очилади ва сақлаганингизда автоматик серверга қайтарилади. "Keep remote directory up to date" функцияси эса компьютерингиздаги папка ўзгаришларини кузатиб, уларни серверга автоматик юклаб боради. Сақланган сессиялар учун WinSCP ҳам мастер паролни қўллаб-қувватлайди.
Калитни тайёрлаш
Агар ҳали SSH калитингиз бўлмаса, уни Windows PowerShell'да яратиш мумкин. Очиқ калитни сервердаги ~/.ssh/authorized_keys файлига қўшганингиздан кейин FileZilla ҳам, WinSCP ҳам паролсиз уланади:
ssh-keygen -t ed25519 -C "ofis-kompyuter"
type $env:USERPROFILE\.ssh\id_ed25519.pub
Иккинчи буйруқ очиқ калит матнини кўрсатади — айнан шу бир қаторни серверга қўшасиз. Махфий калит файли (id_ed25519) эса фақат компьютерингизда қолиши керак.
Кенг тарқалган хатолар
| Хабар | Эҳтимолий сабаб |
|---|---|
Connection refused ёки Connection timed out | Порт нотўғри, SSH тарифда ёқилмаган ёки тармоқда порт ёпиқ |
Authentication failed | Логин ёки парол хато, калит серверга қўшилмаган ёки рухсатлари нотўғри |
| Protocol танловида FTP қолган | 21-портга уланишга ҳаракат қилинади, SFTP ни аниқ танланг |
| Файллар юкланди, лекин сайтда кўринмайди | Нотўғри папкага юкланган; домен папкасини текширинг |
Бир нечта нотўғри парол уринишидан кейин сервер IP манзилингизни вақтинча блоклаши мумкин. Шунинг учун маълумотларни текширмасдан қайта-қайта уринманг, аввал логин ва портни аниқлаб олинг.
Амалий мисол: тўйхона сайтига галерея юклаш
Бухородаги тўйхона сайти учун дизайн студияси ҳар ойда юзлаб янги суратларни галереяга қўшади. Аввал улар оддий FTP'дан фойдаланарди ва студия ходимлари кафедаги умумий Wi-Fi орқали ҳам ишлашарди. Хавфсизлик текширувида бу хавфли деб топилгач, хостингда SSH ёқилди ва ҳар бир ходим учун алоҳида калит яратилди. Энди улар WinSCP'да сақланган сессия орқали бир босишда уланади, "Keep remote directory up to date" билан янги суратлар папкасини синхронлайди, ходим ишдан кетганда эса фақат унинг калити сервердан олиб ташланади.
Ишлаш давомида фойдали одатлар
Юклашдан олдин .git папкаси, маҳаллий .env файллари ва катта захира архивларини сайт папкасига ташламанг — улар сайтда очиқ қолиши мумкин. Катта юкламаларда бир вақтдаги уланишлар сонини ҳаддан оширманг: FileZilla'да бу "Transfers" созламасида белгиланади. Файл рухсатларини ўзгартириш керак бўлса, иккала дастур ҳам контекст менюсида бу имкониятни беради: папкалар учун одатда 755, файллар учун 644 етарли.