# SFTP के माध्यम से कनेक्ट करना: FileZilla, Cyberduck, और कमांड लाइन

Source: https://support.kapsulehost.com/hi-in/sftp-access

SFTP (Secure File Transfer Protocol) आपको सर्वर पर आपकी साइट की फ़ाइलों तक सीधी पहुँच देता है। यह गाइड सफलतापूर्वक कनेक्ट करने के लिए आवश्यक हर चीज़ को कवर करती है, आपकी क्रेडेंशियल ढूँढने से लेकर त्रुटियों का निवारण करने तक।

## SFTP क्या है और इसका उपयोग कब करें

KPanel में बना फ़ाइल मैनेजर त्वरित संपादनों के लिए सुविधाजनक है: किसी फ़ाइल का नाम बदलना, कोई कॉन्फ़िग देखना, या एक ही एसेट अपलोड करना। जब आपको इससे अधिक की ज़रूरत हो, तब SFTP सही उपकरण है:

- एक साथ बड़ी संख्या में फ़ाइलें अपलोड या डाउनलोड करना (साइट माइग्रेट करना, इमेज को बल्क में अपलोड करना)।
- बड़ी फ़ाइलें ट्रांसफर करना जो ब्राउज़र-आधारित अपलोड में टाइम आउट हो जातीं।
- किसी डेवलपमेंट वर्कफ़्लो के हिस्से के रूप में काम करना जहाँ आप फ़ाइलों को स्थानीय रूप से संपादित करते हैं और बदलाव पुश करते हैं।
- किसी GUI क्लाइंट का उपयोग करना जो आपको स्थानीय और रिमोट फ़ोल्डर को सिंक में रखने देता है।
- लॉग या कॉन्फ़िगरेशन फ़ाइलों तक पहुँचना जो KPanel के फ़ाइल मैनेजर के ज़रिए उपलब्ध नहीं हैं।

SFTP ट्रांज़िट में सभी डेटा को एन्क्रिप्ट करता है, जो इसे सामान्य FTP से अधिक सुरक्षित बनाता है। KapsuleHost अनएन्क्रिप्टेड FTP कनेक्शन की सुविधा नहीं देता।

![KPanel में किसी साइट के लिए SSH और SFTP कनेक्शन विवरण](https://support.kapsulehost.com/help/screenshots/sftp-access.df4a2e3e.webp)

## आवश्यक पूर्व-शर्तें

कनेक्ट करने से पहले, आपके पास दो चीज़ें होनी चाहिए।

**1. KPanel में आपकी साइट में जोड़ी गई एक SSH कुंजी।**

KapsuleHost पर SFTP SSH कुंजी प्रमाणीकरण का उपयोग करता है। सुरक्षा के लिए पासवर्ड प्रमाणीकरण अक्षम है। यदि आपने अभी तक अपनी SSH सार्वजनिक कुंजी नहीं जोड़ी है, तो पहले [अपनी साइट में SSH कुंजियाँ जोड़ना](https://support.kapsulehost.com/hi-in/adding-ssh-keys) गाइड का पालन करें, फिर यहाँ वापस आएँ।

**2. आपकी साइट का उपयोगकर्ता नाम।**

KapsuleHost पर प्रत्येक साइट का एक समर्पित सिस्टम उपयोगकर्ता होता है। यह आपका KPanel ईमेल पता नहीं है। यह एक छोटा उपयोगकर्ता नाम है जो विशेष रूप से उस साइट से जुड़ा होता है।

इसे खोजने के लिए:
1. [kpanel.kapsulehost.com](https://kpanel.kapsulehost.com) पर KPanel में लॉग इन करें।
2. बाएँ साइडबार में **वेबसाइटें** पर क्लिक करें।
3. जिस साइट से आप कनेक्ट करना चाहते हैं, उस पर क्लिक करें।
4. **SSH / SFTP** पेज पर जाएँ।
5. आपकी साइट का उपयोगकर्ता नाम इस टैब के शीर्ष पर दिखाया गया है। यह आमतौर पर `mysite_com` या `myexamplesite_net` जैसा दिखता है।

**एक नज़र में कनेक्शन विवरण:**

| फ़ील्ड | मान |
|---|---|
| होस्ट | `cp1-kapsule.kapsulehost.com` |
| पोर्ट | `22` |
| प्रोटोकॉल | SFTP (FTP नहीं, FTPS नहीं) |
| प्रमाणीकरण | केवल SSH कुंजी |
| उपयोगकर्ता नाम | आपकी साइट का उपयोगकर्ता नाम (KPanel > Websites > [site] > Settings > SFTP से) |

---

## FileZilla के साथ कनेक्ट करना

FileZilla एक मुफ़्त, क्रॉस-प्लेटफ़ॉर्म SFTP क्लाइंट है जो Windows, macOS और Linux के लिए उपलब्ध है। यदि आपके पास पहले से नहीं है, तो इसे [filezilla-project.org](https://filezilla-project.org) से डाउनलोड करें।

### चरण-दर-चरण सेटअप

1. FileZilla खोलें।
2. **File > Site Manager** पर जाएँ (या Windows पर `Ctrl+S` / Mac पर `Cmd+S` दबाएँ)।
3. **वेबसाइट जोड़ें** पर क्लिक करें और इसे एक नाम दें (उदाहरण के लिए, "My KapsuleHost Site")।
4. **General** टैब में, निम्नलिखित फ़ील्ड कॉन्फ़िगर करें:

   | फ़ील्ड | मान |
   |---|---|
   | प्रोटोकॉल | **SFTP - SSH File Transfer Protocol** |
   | होस्ट | `cp1-kapsule.kapsulehost.com` |
   | पोर्ट | `22` |
   | लॉगऑन प्रकार | **Key file** |
   | उपयोगकर्ता | आपकी साइट का उपयोगकर्ता नाम (उदाहरण के लिए, `mysite_com`) |
   | की फ़ाइल | **Browse** पर क्लिक करें और अपनी निजी कुंजी फ़ाइल तक नेविगेट करें |

5. की फ़ाइल के लिए, वह निजी कुंजी चुनें जो KPanel में आपके द्वारा जोड़ी गई सार्वजनिक कुंजी से मेल खाती है। macOS और Linux पर, निजी कुंजियाँ आमतौर पर `~/.ssh/` में संग्रहीत होती हैं (उदाहरण के लिए, `~/.ssh/id_ed25519` या `~/.ssh/id_rsa`)। Windows पर, ये अक्सर `C:\Users\YourName\.ssh\` में होती हैं।

> **Note:** यदि आपकी निजी कुंजी में कोई पासफ़्रेज़ है, तो कनेक्ट करते समय FileZilla आपसे इसे दर्ज करने के लिए कहेगा। यह सामान्य है। पासफ़्रेज़ आपकी निजी कुंजी फ़ाइल की सुरक्षा करता है और किसी भी KapsuleHost पासवर्ड से अलग है।

6. कनेक्शन परखने के लिए **Connect** पर क्लिक करें, या सेव करके बाद में कनेक्ट करने के लिए **OK** पर क्लिक करें।

### सेव करना और फिर से कनेक्ट करना

एक बार Site Manager में सेव हो जाने पर, आप **File > Site Manager** पर जाकर और **Connect** पर क्लिक करके किसी भी समय फिर से कनेक्ट कर सकते हैं। FileZilla त्वरित पहुँच के लिए टूलबार के ड्रॉपडाउन में आपकी सेव की गई साइटें भी दिखाता है।

> **Tip:** FileZilla के Site Manager में, भविष्य के कनेक्शनों पर होस्ट की प्रॉम्प्ट से बचने के लिए पहली बार कनेक्ट करते समय **Always trust this host** चेकबॉक्स चेक करें।

---

## Cyberduck के साथ कनेक्ट करना

Cyberduck macOS और Windows के लिए एक मुफ़्त SFTP क्लाइंट है। इसे [cyberduck.io](https://cyberduck.io) से डाउनलोड करें।

### चरण-दर-चरण सेटअप

1. Cyberduck खोलें।
2. **Open Connection** पर क्लिक करें (टूलबार में ग्लोब आइकन)।
3. डायलॉग के शीर्ष पर प्रोटोकॉल ड्रॉपडाउन से, **SFTP (SSH File Transfer Protocol)** चुनें।
4. कनेक्शन फ़ील्ड भरें:

   | फ़ील्ड | मान |
   |---|---|
   | सर्वर | `cp1-kapsule.kapsulehost.com` |
   | पोर्ट | `22` |
   | उपयोगकर्ता नाम | आपकी साइट का उपयोगकर्ता नाम (उदाहरण के लिए, `mysite_com`) |
   | पासवर्ड | खाली छोड़ें |
   | SSH Private Key | **Choose** पर क्लिक करें और अपनी निजी कुंजी फ़ाइल चुनें |

5. **Connect** पर क्लिक करें।

पहली बार कनेक्ट करने पर, Cyberduck आपसे सर्वर के होस्ट की फ़िंगरप्रिंट की पुष्टि करने के लिए कहेगा। आगे बढ़ने के लिए **Allow** पर क्लिक करें। यदि आपको किसी बाद के कनेक्शन पर किसी अलग फ़िंगरप्रिंट के साथ यह प्रॉम्प्ट दिखाई देता है, तो इसे स्वीकार न करें और सहायता से संपर्क करें, क्योंकि यह किसी कॉन्फ़िगरेशन बदलाव का संकेत हो सकता है।

### बुकमार्क के रूप में सेव करना

भविष्य के उपयोग के लिए कनेक्शन सेव करने हेतु:
1. सफलतापूर्वक कनेक्ट होने के बाद, **Bookmark > New Bookmark** पर जाएँ (या Mac पर `Cmd+Shift+B` दबाएँ)।
2. बुकमार्क को एक नाम दें और डायलॉग बंद करें। बुकमार्क आपकी Cyberduck बुकमार्क सूची में दिखाई देता है।

---

## टर्मिनल से कनेक्ट करना (Mac, Linux, या WSL)

यदि आप कमांड लाइन पसंद करते हैं, तो `sftp` कमांड macOS, Linux और Windows Subsystem for Linux (WSL) पर उपलब्ध है।

### बुनियादी कनेक्शन

```bash
sftp mysite_com@cp1-kapsule.kapsulehost.com
```

`mysite_com` को अपने वास्तविक साइट उपयोगकर्ता नाम से बदलें। यदि आपकी निजी कुंजी डिफ़ॉल्ट स्थान (`~/.ssh/id_rsa` या `~/.ssh/id_ed25519`) में नहीं है, तो इसे `-i` फ़्लैग के साथ निर्दिष्ट करें:

```bash
sftp -i ~/.ssh/your_private_key mysite_com@cp1-kapsule.kapsulehost.com
```

पहली बार कनेक्ट करने पर, आपसे सर्वर की होस्ट फ़िंगरप्रिंट की पुष्टि करने के लिए कहा जाएगा। `yes` टाइप करें और एंटर दबाएँ। यह प्रति डिवाइस प्रति कुंजी केवल एक बार होता है।

### उपयोगी SFTP कमांड

एक बार कनेक्ट होने पर, आपको एक `sftp>` प्रॉम्प्ट दिखाई देगा। फ़ाइलों को नेविगेट करने और ट्रांसफर करने के लिए इन कमांड का उपयोग करें:

| कमांड | यह क्या करता है |
|---|---|
| `ls` | वर्तमान रिमोट डायरेक्टरी में फ़ाइलें सूचीबद्ध करें |
| `lls` | वर्तमान स्थानीय डायरेक्टरी में फ़ाइलें सूचीबद्ध करें |
| `cd [dir]` | रिमोट सर्वर पर डायरेक्टरी बदलें |
| `lcd [dir]` | आपकी स्थानीय मशीन पर डायरेक्टरी बदलें |
| `pwd` | वर्तमान रिमोट डायरेक्टरी पथ दिखाएँ |
| `lpwd` | वर्तमान स्थानीय डायरेक्टरी पथ दिखाएँ |
| `get [file]` | रिमोट से स्थानीय में एक फ़ाइल डाउनलोड करें |
| `get -r [dir]` | किसी डायरेक्टरी को पुनरावर्ती रूप से डाउनलोड करें |
| `put [file]` | स्थानीय से रिमोट में एक फ़ाइल अपलोड करें |
| `put -r [dir]` | किसी डायरेक्टरी को पुनरावर्ती रूप से अपलोड करें |
| `rm [file]` | रिमोट सर्वर पर एक फ़ाइल हटाएँ |
| `mkdir [dir]` | रिमोट सर्वर पर एक डायरेक्टरी बनाएँ |
| `quit` | SFTP कनेक्शन बंद करें |

**उदाहरण: फ़ाइल डाउनलोड करना**
```bash
sftp> cd htdocs/wp-content/themes
sftp> get my-theme.zip
```

**उदाहरण: फ़ाइल अपलोड करना**
```bash
sftp> lcd ~/Desktop
sftp> cd htdocs/wp-content/uploads
sftp> put my-image.jpg
```

---

## आपकी फ़ाइलें कहाँ हैं

कनेक्ट करने के बाद, आप अपनी साइट उपयोगकर्ता की होम डायरेक्टरी में पहुँचेंगे: `/home/[siteuser]/`।

डायरेक्टरी संरचना कुछ इस तरह दिखती है:

```
/home/mysite_com/
├── htdocs/              ← Your web root (main location for site files)
│   ├── index.php
│   ├── wp-config.php
│   ├── wp-content/
│   │   ├── themes/
│   │   ├── plugins/
│   │   └── uploads/
│   └── ...
├── logs/                ← PHP and access logs
└── tmp/                 ← Temporary files
```

वह वेब रूट जहाँ आपका WordPress (या अन्य एप्लिकेशन) रहता है, वह `htdocs/` है। यही वह डायरेक्टरी है जिसमें आप अपना अधिकांश समय बिताएँगे। कुछ साइट कॉन्फ़िगरेशन पर इसका नाम इसके बजाय `public_html/` हो सकता है। यदि आप कनेक्ट करते हैं और `htdocs/` के बजाय `public_html/` देखते हैं, तो उसी का उपयोग करें।

> **Note:** आप केवल अपनी साइट उपयोगकर्ता से संबंधित फ़ाइलों तक पहुँच सकते हैं। आप `/home/[siteuser]/` से ऊपर नेविगेट नहीं कर सकते या अन्य ग्राहकों की डायरेक्टरी तक नहीं पहुँच सकते। यह जानबूझकर इसी तरह डिज़ाइन किया गया है।

---

## कनेक्शन समस्याओं का निवारण

### "Connection refused"

कनेक्शन स्थापित होने से पहले ही सक्रिय रूप से अस्वीकृत कर दिया गया था।

**जाँचें:** पुष्टि करें कि आप होस्ट `cp1-kapsule.kapsulehost.com` और पोर्ट `22` का उपयोग कर रहे हैं। एक सामान्य गलती पोर्ट `21` (जो FTP है, SFTP नहीं) दर्ज करना या होस्टनाम में टाइपो करना है।

### "Permission denied (publickey)"

सर्वर ने कनेक्शन प्रयास को स्वीकार किया लेकिन आपके प्रमाणीकरण को अस्वीकार कर दिया।

**निम्नलिखित में से प्रत्येक की जाँच करें:**
- आपकी SSH सार्वजनिक कुंजी **KPanel > Websites > [site] > Settings > SSH Keys** में जोड़ी गई है। यदि यह वहाँ सूचीबद्ध नहीं है, तो सर्वर के पास इसका कोई रिकॉर्ड नहीं है।
- आपने FileZilla/Cyberduck में सही निजी कुंजी का चयन किया है, विशेष रूप से वह निजी कुंजी जो KPanel में आपके द्वारा जोड़ी गई सार्वजनिक कुंजी से जोड़ी बनाती है।
- यदि आपकी कुंजी में कोई पासफ़्रेज़ है, तो सुनिश्चित करें कि आप इसे सही ढंग से दर्ज कर रहे हैं।
- यदि आपके पास कई कुंजियाँ हैं, तो पुष्टि करें कि आप गलती से गलत कुंजी तो नहीं चुन रहे।

### "Host key verification failed"

आपके SFTP क्लाइंट ने इस होस्टनाम के लिए पहले एक अलग होस्ट कुंजी देखी है और आपको बेमेल होने की चेतावनी दे रहा है।

**पहली बार कनेक्ट करने पर:** आपसे फ़िंगरप्रिंट स्वीकार करने के लिए कहा जाएगा। यह सामान्य है। Accept पर क्लिक करें या `yes` टाइप करें।

**किसी नई फ़िंगरप्रिंट के साथ बाद के कनेक्शन पर:** यह सर्वर पर किसी कॉन्फ़िगरेशन बदलाव का संकेत हो सकता है। स्वीकार करने से पहले [support@kapsulehost.com](mailto:support@kapsulehost.com) पर सहायता से संपर्क करें, और आपने जो देखा उसका उल्लेख करें।

टर्मिनल में किसी पुरानी होस्ट कुंजी को साफ़ करने के लिए, `~/.ssh/known_hosts` संपादित करें और `cp1-kapsule.kapsulehost.com` के लिए लाइन हटा दें।

### "Could not read from remote repository" या गलत डायरेक्टरी

हो सकता है आपने अपनी साइट उपयोगकर्ता नाम के बजाय अपने KPanel ईमेल पते का उपयोगकर्ता नाम के रूप में उपयोग किया हो।

**जाँचें:** उपयोगकर्ता नाम आपकी साइट का उपयोगकर्ता नाम होना चाहिए (उदाहरण के लिए, `mysite_com`), आपका ईमेल पता नहीं। सही उपयोगकर्ता नाम **KPanel > Websites > [site] > Settings > SFTP** में खोजें।

### कनेक्शन टाइम आउट हो जाता है

कनेक्शन प्रयास अटक जाता है और फिर बिना किसी त्रुटि के टाइम आउट हो जाता है।

**संभावित कारण:**
- बार-बार लॉगिन विफल होने के कारण आपका IP पता अस्थायी रूप से KapsuleHost के फ़ायरवॉल द्वारा ब्लॉक किया जा सकता है। [support@kapsulehost.com](mailto:support@kapsulehost.com) पर सहायता से संपर्क करें और उनसे फ़ायरवॉल लॉग जाँचने के लिए कहें।
- आपके नेटवर्क पर कोई स्थानीय फ़ायरवॉल या VPN पोर्ट 22 पर आउटबाउंड कनेक्शन को ब्लॉक कर सकता है। इसे खारिज करने के लिए किसी अलग नेटवर्क (उदाहरण के लिए, मोबाइल हॉटस्पॉट) से प्रयास करें।

---

## संबंधित लेख

- [अपनी साइट में SSH कुंजियाँ जोड़ना](https://support.kapsulehost.com/hi-in/adding-ssh-keys)
- [KPanel में फ़ाइल मैनेजर का उपयोग करना](https://support.kapsulehost.com/hi-in/file-manager)
- [SSH टनल के माध्यम से अपने डेटाबेस से कनेक्ट करना](https://support.kapsulehost.com/hi-in/database-ssh-tunnel)
