# आपके Cloud Server से SSH के साथ कनेक्ट करना

Source: https://support.kapsulehost.com/hi-in/cloud-servers-ssh-connect

SSH आपको अपने टर्मिनल से आपके क्लाउड सर्वर पर एक रूट शेल देता है, और कनेक्ट करने के लिए आपको जो सभी विवरण चाहिए वह KPanel में सर्वर के पेज पर दिखाई देते हैं, कॉपी करने के लिए तैयार हैं।

एक क्लाउड सर्वर आपका है ऑपरेटिंग सिस्टम से ऊपर, जिसका अर्थ है कि कमांड लाइन वह जगह है जहां अधिकांश काम होता है। यह गाइड आपके कनेक्शन विवरण खोजने, कुंजी या पासवर्ड के साथ कनेक्ट करने, कुंजी को सही तरीके से सेट करने, ब्राउज़र कंसोल फॉलबैक, और उन कुछ त्रुटियों को कवर करता है जो लगभग हर विफल कनेक्शन के लिए जिम्मेदार हैं।

## अपने कनेक्शन विवरण खोजें

1. [KPanel](https://kpanel.kapsulehost.com) में साइन इन करें।
2. बाएं साइडबार में **Cloud Servers** पर क्लिक करें, फिर अपने सर्वर पर क्लिक करें।
3. **Connection** कार्ड खोजें।

कार्ड में तीन क्लिपबोर्ड में कॉपी करने योग्य फील्ड हैं:

| फील्ड | यह क्या है |
|---|---|
| **SSH Command** | एक संपूर्ण कमांड, आपके टर्मिनल में पेस्ट करने के लिए तैयार |
| **IPv4 Address** | सर्वर का सार्वजनिक IPv4 पता |
| **IPv6 Address** | सर्वर का IPv6 पता, जब एक असाइन किया गया हो तो दिखाया जाता है |

![KPanel में एक क्लाउड सर्वर पर Connection कार्ड](https://support.kapsulehost.com/help/screenshots/cloud-servers-ssh-connect.902ba66d.webp)

> **Note:** यदि कार्ड में लिखा है "IP address will appear here once provisioning is complete", तो सर्वर अभी भी बनाया जा रहा है। एक क्लाउड सर्वर को प्रावधान करने में लगभग साठ सेकंड लगते हैं और पेज अपडेट हो जाता है जब यह समाप्त हो जाता है।

## SSH कुंजी के साथ कनेक्ट करें

यदि आपने सर्वर ऑर्डर करते समय **SSH Public Key** फील्ड में एक सार्वजनिक कुंजी पेस्ट की है, तो कुंजी प्रमाणीकरण पहले से ही कॉन्फ़िगर किया गया है और कोई पासवर्ड टाइप करने के लिए नहीं है।

1. Connection कार्ड से **SSH Command** कॉपी करें।
2. इसे अपने टर्मिनल में पेस्ट करें और Enter दबाएं।

```
ssh root@203.0.113.1
```

आपका SSH क्लाइंट मिलती-जुलती निजी कुंजी खोजता है और स्वचालित रूप से प्रमाणित करता है। यदि आपकी कुंजी एक गैर-मानक स्थान पर रहती है, तो इसे स्पष्ट रूप से इंगित करें:

```
ssh -i ~/.ssh/my-kapsule-key root@203.0.113.1
```

> **Tip:** कुंजियां पासवर्ड से आसान और सुरक्षित दोनों हैं। याद रखने के लिए कुछ नहीं है, फिशिंग प्रॉम्प्ट में टाइप करने के लिए कुछ नहीं है, और एक स्वचालित पासवर्ड-अनुमान हमले के लिए कुछ भी नहीं है। यदि आप अभी भी पासवर्ड का उपयोग कर रहे हैं, तो एक कुंजी उत्पन्न करना और इसे जोड़ना लगभग दो मिनट लगता है।

### पहली बार के लिए कुंजी सेट करें

अपने सर्वर पर नहीं, अपने मशीन पर एक कुंजी जोड़ी जेनरेट करें:

```
ssh-keygen -t ed25519 -C "your-email@example.com"
```

डिफ़ॉल्ट स्थान को स्वीकार करने के लिए Enter दबाएं और जब संकेत दिया जाए तो एक पासफ़्रेज़ सेट करें। अब आपके पास दो फाइलें हैं:

- `~/.ssh/id_ed25519` आपकी **निजी** कुंजी है। यह कभी भी आपकी मशीन को नहीं छोड़ता है, और आप इसे कहीं भी पेस्ट नहीं करते हैं।
- `~/.ssh/id_ed25519.pub` आपकी **सार्वजनिक** कुंजी है। यह वह है जो आप सर्वर को देते हैं।

सार्वजनिक कुंजी प्रिंट करें और पूरी एकल लाइन कॉपी करें, `ssh-ed25519` उपसर्ग और अनुगामी टिप्पणी सहित:

```
cat ~/.ssh/id_ed25519.pub
```

जब आप एक सर्वर ऑर्डर करते हैं, तो उस लाइन को **SSH Public Key** फील्ड में पेस्ट करें। फील्ड की अपनी संकेत यह स्पष्ट रूप से कहता है: "Paste your public key to enable key-based authentication. If left blank, a root password will be emailed to you."

> **Warning:** कभी भी किसी फाइल की सामग्री को `.pub` के बिना पेस्ट न करें। यह आपकी निजी कुंजी है, और जिसके पास यह है वह हर सर्वर पर जो इस पर विश्वास करता है, आपके रूप में लॉग इन कर सकता है। यदि आप कभी भी एक निजी कुंजी को गलती से साझा करते हैं, तो एक नई जोड़ी जेनरेट करें और सार्वजनिक कुंजी को हर जगह तुरंत बदलें।

एक सर्वर को जोड़ने के लिए जो आपके पास पहले से है, जो कभी भी कनेक्ट कर सकते हैं और सार्वजनिक कुंजी लाइन को `/root/.ssh/authorized_keys` में जोड़ें।

## पासवर्ड के साथ कनेक्ट करें

यदि आपने ऑर्डर के समय **SSH Public Key** फील्ड को खाली छोड़ा है, तो एक बार सर्वर प्रावधानित हो जाने के बाद आपको एक रूट पासवर्ड ईमेल किया जाता है।

1. Connection कार्ड से **SSH Command** कॉपी करें।
2. इसे अपने टर्मिनल में पेस्ट करें और Enter दबाएं।
3. संकेत पर ईमेल किया गया रूट पासवर्ड दर्ज करें।

एक बार अंदर आने के बाद उस पासवर्ड को तुरंत बदलें, `passwd` के साथ, और जब आप वहां हों तो एक SSH कुंजी जोड़ें। एक ईमेल किया गया पासवर्ड एक क्रेडेंशियल से आगे यात्रा कर गया है।

## ब्राउज़र कंसोल

**Browser console** आपको KPanel के अंदर एक टर्मिनल देता है, बिना एक SSH क्लाइंट के और बिना पोर्ट 22 के माध्यम से जाए। यह उस पल के लिए उपकरण है जब आपका अपना एक्सेस वह चीज़ है जो टूट गई है।

1. सर्वर के पेज को खोलें और कार्य बटन में **Browser console** पर क्लिक करें, या `/cloud-servers/<server-id>/console` पर जाएं।
2. **Start console** पर क्लिक करें। KPanel सर्वर पर HTTPS के पीछे एक बार-बार क्रेडेंशियल के साथ एक टर्मिनल शुरू करता है।
3. **Username** और **Password** पेज पर प्रदर्शित होते हैं, एक **Copy credentials** बटन के साथ। टर्मिनल पेज में ही खुलता है, और आपका ब्राउज़र आपको उन क्रेडेंशियल के लिए संकेत दे सकता है।
4. किसी भी शेल में काम करें।

> **Note:** कंसोल सेशन 30 मिनट के बाद स्वचालित रूप से बंद हो जाते हैं। एक नया सेशन शुरू करने से ताज़ा क्रेडेंशियल जारी होते हैं, इसलिए एक बार आप हो जाने के बाद कुछ भी सुनने के लिए नहीं रहता है। एक ब्राउज़र कंसोल को भी सर्वर पर HTTPS के साथ एक कॉन्फ़िगर किए गए डोमेन की आवश्यकता होती है, जिसका अर्थ है पैनल के माध्यम से इंस्टॉल किया गया एक ऐप। एक नंगे सर्वर पर कंसोल आपको बताएगा बजाय चुप रहकर विफल होने के।

कंसोल का उपयोग एक फायरवॉल नियम को पूर्ववत करने के लिए करें जिसने आपको बाहर निकाल दिया है, पासवर्ड रीसेट करें, या `sshd` कॉन्फ़िगरेशन की मरम्मत करें। एक बार आप सामान्य रूप से SSH पर वापस आ जाते हैं, आपको इसकी फिर से आवश्यकता नहीं है।

## SSH एक्सेस को सुरक्षित रखें

पोर्ट 22 एक KapsuleHost सर्वर फायरवॉल पर हमेशा खुला रहता है, डिजाइन के अनुसार, इसलिए एक फायरवॉल परिवर्तन आपको पूरी तरह से मशीन से बाहर नहीं निकाल सकता है।

इसका मतलब है कि आपके शेल की सुरक्षा इस बात पर निर्भर करती है कि आप कैसे प्रमाणित करते हैं, न कि पोर्ट को छिपाने पर। दो चीजें अधिकांश काम करती हैं:

- **कुंजियों का उपयोग करें, पासवर्ड का नहीं।** फिर एक अनुमानित पासवर्ड एक तरीका नहीं है।
- **fail2ban को चालू रखें।** यह डिफ़ॉल्ट रूप से सक्षम है और उन पतों को प्रतिबंधित करता है जो बार-बार SSH प्रमाणीकरण में विफल होते हैं। आप सर्वर के **Management** पेज पर स्विच देख सकते हैं।

[Cloud Server Firewall and Security Management](https://support.kapsulehost.com/hi-in/cloud-servers-firewall) दोनों को कवर करता है, साथ ही आपके अपने एप्लिकेशन को चाहिए वाले पोर्ट के लिए कस्टम नियम भी।

## समस्या निवारण

**"Connection refused."** कुछ भी सुन नहीं रहा है। जांचें कि सर्वर KPanel में **Running** दिखाता है, यदि यह बंद है तो इसे चालू करें, और जांचें कि `sshd` चल रहा है।

**"Connection timed out."** ट्रैफिक नहीं पहुंच रहा है। पुष्टि करें कि आप Connection कार्ड से IPv4 पते का उपयोग कर रहे हैं, और जांचें कि क्या आपका नेटवर्क आउटबाउंड पोर्ट 22 को ब्लॉक करता है। एक कॉर्पोरेट या कैंपस नेटवर्क कभी-कभी करता है।

**"Permission denied (publickey)."** सर्वर आपकी कुंजी को नहीं पहचानता है। पुष्टि करें कि आपने `.pub` लाइन पेस्ट की है, पूरी और अपरिवर्तित, और कि आपका क्लाइंट मिलती-जुलती निजी कुंजी की पेशकश कर रहा है। ssh कमांड में `-v` जोड़ें यह देखने के लिए कि यह कौन सी कुंजियों को आजमाया है।

**"Permission denied, please try again" पासवर्ड पर।** पासवर्ड गलत है, या पासवर्ड प्रमाणीकरण अक्षम है क्योंकि आपने एक कुंजी की आपूर्ति की है। कुंजी का उपयोग करें, या ब्राउज़र कंसोल।

**"REMOTE HOST IDENTIFICATION HAS CHANGED."** सर्वर की होस्ट कुंजी आपके क्लाइंट को याद है उससे अलग है। यह एक [rebuild](https://support.kapsulehost.com/hi-in/cloud-servers-rebuild) के बाद अपेक्षित है, क्योंकि ऑपरेटिंग सिस्टम को फिर से इंस्टॉल किया गया था। उस IP पते के लिए अपनी `known_hosts` फाइल से पुरानी प्रविष्टि को हटाएं और फिर से कनेक्ट करें। यदि आपने कुछ भी फिर से नहीं बनाया है, तो कनेक्ट करने से पहले रुकें और हमसे संपर्क करें।

**मैंने एक फायरवॉल नियम के साथ खुद को बाहर निकाल दिया।** पोर्ट 22 खुला रहता है, इसलिए यह असामान्य है, लेकिन यदि सर्वर के अंदर एक नियम ने आपको अवरुद्ध किया है, तो इसे हटाने के लिए ब्राउज़र कंसोल का उपयोग करें।

यदि उपरोक्त में से कोई भी आपको एक शेल नहीं देता है, तो [support@kapsulehost.com](mailto:support@kapsulehost.com) को सर्वर का नाम, जिस पते से आप कनेक्ट कर रहे हैं, और सटीक त्रुटि पाठ के साथ ईमेल करें।
