यह अनुवाद मशीन लर्निंग का उपयोग करके उत्पन्न किया गया था और 100% सटीक नहीं हो सकता है। अंग्रेज़ी संस्करण देखें

दूरस्थ रूप से I2P तक पहुँच के लिए SSH Tunnel बनाना

अपने दूरस्थ I2P router तक पहुँचने के लिए Windows, Linux, और Mac पर सुरक्षित SSH tunnels बनाना सीखें

SSH tunnel एक सुरक्षित, एन्क्रिप्टेड कनेक्शन प्रदान करता है जिससे आप अपने रिमोट I2P router के console या अन्य सेवाओं तक पहुंच सकते हैं। यह गाइड आपको Windows, Linux, और Mac सिस्टम पर SSH tunnels बनाने का तरीका दिखाता है।

SSH टनल क्या है?

SSH tunnel एक ऐसी विधि है जो SSH एन्क्रिप्टेड कनेक्शन के माध्यम से डेटा और जानकारी को सुरक्षित रूप से रूट करती है। इसे इंटरनेट के माध्यम से एक सुरक्षित “पाइपलाइन” बनाने के रूप में समझें - आपका डेटा इस एन्क्रिप्टेड tunnel से होकर यात्रा करता है, जो किसी को भी रास्ते में इसे इंटरसेप्ट करने या पढ़ने से रोकता है।

SSH टनलिंग विशेष रूप से इन कार्यों के लिए उपयोगी है:

  • दूरस्थ I2P routers तक पहुंच: दूरस्थ सर्वर पर चल रहे अपने I2P console से कनेक्ट करें
  • सुरक्षित कनेक्शन: सभी ट्रैफ़िक end-to-end एन्क्रिप्टेड है
  • प्रतिबंधों को दरकिनार करना: दूरस्थ सिस्टम पर सेवाओं को ऐसे एक्सेस करें जैसे वे स्थानीय हों
  • Port forwarding: स्थानीय पोर्ट को दूरस्थ सेवा से मैप करें

I2P के संदर्भ में, आप अपने I2P router console (आमतौर पर पोर्ट 7657 पर) को एक रिमोट सर्वर पर एक्सेस करने के लिए SSH tunnel का उपयोग कर सकते हैं, इसे अपने कंप्यूटर पर एक लोकल पोर्ट पर forward करके।

पूर्वापेक्षाएँ

SSH टनल बनाने से पहले, आपको इनकी आवश्यकता होगी:

  • SSH क्लाइंट:
    • Windows: PuTTY (मुफ्त डाउनलोड)
    • Linux/Mac: बिल्ट-इन SSH क्लाइंट (Terminal के माध्यम से)
  • रिमोट सर्वर एक्सेस:
    • रिमोट सर्वर के लिए यूजरनेम
    • रिमोट सर्वर का IP एड्रेस या होस्टनेम
    • SSH पासवर्ड या key-based authentication
  • उपलब्ध लोकल पोर्ट: 1-65535 के बीच कोई अप्रयुक्त पोर्ट चुनें (I2P के लिए 7657 आमतौर पर उपयोग किया जाता है)

टनल कमांड को समझना

SSH टनल कमांड इस पैटर्न का अनुसरण करती है:

ssh -L [local_port]:[destination_ip]:[destination_port] [username]@[remote_server]

पैरामीटर्स की व्याख्या: - local_port: आपकी लोकल मशीन पर पोर्ट (उदाहरण के लिए, 7657) - destination_ip: आमतौर पर 127.0.0.1 (रिमोट सर्वर पर localhost) - destination_port: रिमोट सर्वर पर सेवा का पोर्ट (उदाहरण के लिए, I2P के लिए 7657) - username: रिमोट सर्वर पर आपका यूज़रनेम - remote_server: रिमोट सर्वर का IP एड्रेस या होस्टनेम

उदाहरण: ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58

यह एक tunnel बनाता है जहाँ: - आपकी मशीन पर स्थानीय पोर्ट 7657 forward होता है… - रिमोट सर्वर के localhost पर पोर्ट 7657 तक (जहाँ I2P चल रहा है) - सर्वर 20.228.143.58 पर यूज़र i2p के रूप में कनेक्ट करते हुए

Windows पर SSH टनल बनाना

Windows उपयोगकर्ता PuTTY का उपयोग करके SSH tunnels बना सकते हैं, जो एक निःशुल्क SSH क्लाइंट है।

Step 1: Download and Install PuTTY

putty.org से PuTTY डाउनलोड करें और इसे अपने Windows सिस्टम पर इंस्टॉल करें।

Step 2: Configure the SSH Connection

PuTTY खोलें और अपने कनेक्शन को कॉन्फ़िगर करें:

  1. Session श्रेणी में:
    • Host Name फ़ील्ड में अपने रिमोट सर्वर का IP एड्रेस या hostname दर्ज करें
    • सुनिश्चित करें कि Port 22 पर सेट है (डिफ़ॉल्ट SSH पोर्ट)
    • Connection type SSH होना चाहिए

PuTTY सेशन कॉन्फ़िगरेशन

Step 3: Configure the Tunnel

बाएं साइडबार में Connection → SSH → Tunnels पर जाएं:

  1. Source port: वह लोकल पोर्ट दर्ज करें जिसे आप उपयोग करना चाहते हैं (जैसे, 7657)
  2. Destination: 127.0.0.1:7657 दर्ज करें (रिमोट सर्वर पर localhost:port)
  3. tunnel जोड़ने के लिए Add पर क्लिक करें
  4. tunnel “Forwarded ports” सूची में दिखाई देनी चाहिए

PuTTY tunnel कॉन्फ़िगरेशन

Step 4: Connect

  1. कनेक्शन शुरू करने के लिए Open पर क्लिक करें
  2. यदि आप पहली बार कनेक्ट कर रहे हैं, तो आपको एक सुरक्षा चेतावनी दिखाई देगी - सर्वर पर भरोसा करने के लिए Yes पर क्लिक करें
  3. संकेत मिलने पर अपना username दर्ज करें
  4. संकेत मिलने पर अपना password दर्ज करें

PuTTY कनेक्शन स्थापित

एक बार कनेक्ट हो जाने के बाद, आप ब्राउज़र खोलकर और http://127.0.0.1:7657 पर नेविगेट करके अपने रिमोट I2P console तक पहुँच सकते हैं

चरण 1: PuTTY डाउनलोड और इंस्टॉल करें

हर बार पुनः कॉन्फ़िगर करने से बचने के लिए:

  1. Session श्रेणी पर वापस जाएं
  2. Saved Sessions में एक नाम दर्ज करें (जैसे, “I2P Tunnel”)
  3. Save पर क्लिक करें
  4. अगली बार, बस इस session को load करें और Open पर क्लिक करें

Creating SSH Tunnels on Linux

Linux सिस्टम में टर्मिनल में SSH बिल्ट-इन होता है, जो tunnel निर्माण को त्वरित और सरल बनाता है।

चरण 2: SSH कनेक्शन को कॉन्फ़िगर करें

एक टर्मिनल खोलें और SSH tunnel कमांड चलाएं:

ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58

बदलें: - 7657 (पहली बार आना): आपका वांछित स्थानीय पोर्ट - 127.0.0.1:7657: रिमोट सर्वर पर गंतव्य पता और पोर्ट - i2p: रिमोट सर्वर पर आपका उपयोगकर्ता नाम - 20.228.143.58: आपके रिमोट सर्वर का IP पता

Linux SSH tunnel बनाना

जब प्रॉम्प्ट किया जाए, तो अपना पासवर्ड दर्ज करें। एक बार कनेक्ट हो जाने पर, tunnel सक्रिय हो जाता है।

अपने ब्राउज़र में http://127.0.0.1:7657 पर अपने रिमोट I2P कंसोल को एक्सेस करें।

चरण 3: टनल को कॉन्फ़िगर करें

टनल तब तक सक्रिय रहती है जब तक SSH सेशन चल रहा है। इसे बैकग्राउंड में चलाते रहने के लिए:

ssh -f -N -L 7657:127.0.0.1:7657 i2p@20.228.143.58

अतिरिक्त फ्लैग: - -f: SSH को बैकग्राउंड में चलाता है - -N: रिमोट कमांड एक्जीक्यूट न करें (केवल tunnel)

पृष्ठभूमि टनल को बंद करने के लिए, SSH प्रोसेस को ढूंढें और समाप्त करें:

ps aux | grep ssh
kill [process_id]

चरण 4: कनेक्ट करें

बेहतर सुरक्षा और सुविधा के लिए, SSH key authentication का उपयोग करें:

  1. एक SSH की पेअर जेनरेट करें (यदि आपके पास पहले से नहीं है):

    ssh-keygen -t ed25519 -C "your_email@example.com"
    
  2. अपनी सार्वजनिक कुंजी को रिमोट सर्वर पर कॉपी करें:

    ssh-copy-id i2p@20.228.143.58
    
  3. अब आप बिना पासवर्ड के कनेक्ट कर सकते हैं:

    ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58
    

Creating SSH Tunnels on Mac

Mac सिस्टम Linux के समान SSH क्लाइंट का उपयोग करते हैं, इसलिए प्रक्रिया समान है।

वैकल्पिक: अपना सेशन सहेजें

टर्मिनल खोलें (Applications → Utilities → Terminal) और चलाएं:

ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58

बदलें: - 7657 (पहली बार आना): आपका वांछित स्थानीय पोर्ट - 127.0.0.1:7657: रिमोट सर्वर पर गंतव्य पता और पोर्ट - i2p: रिमोट सर्वर पर आपका उपयोगकर्ता नाम - 20.228.143.58: आपके रिमोट सर्वर का IP पता

Mac SSH tunnel creation

जब पूछा जाए तो अपना पासवर्ड दर्ज करें। कनेक्ट होने के बाद, अपने रिमोट I2P console को http://127.0.0.1:7657 पर एक्सेस करें

Background Tunnels on Mac

लिनक्स की तरह, आप टनल को बैकग्राउंड में चला सकते हैं:

ssh -f -N -L 7657:127.0.0.1:7657 i2p@20.228.143.58

टर्मिनल का उपयोग करना

Mac SSH key सेटअप Linux के समान है:

# Generate key (if needed)
ssh-keygen -t ed25519 -C "your_email@example.com"

# Copy to remote server
ssh-copy-id i2p@20.228.143.58

Common Use Cases

सुरंग को सक्रिय रखना

सबसे सामान्य उपयोग केस - अपने रिमोट I2P router कंसोल तक पहुँच:

ssh -L 7657:127.0.0.1:7657 user@remote-server

फिर अपने ब्राउज़र में http://127.0.0.1:7657 खोलें।

SSH कुंजियों का उपयोग (अनुशंसित)

एक साथ कई पोर्ट फॉरवर्ड करें:

ssh -L 7657:127.0.0.1:7657 -L 7658:127.0.0.1:7658 user@remote-server

यह पोर्ट 7657 (I2P console) और 7658 (एक अन्य सेवा) दोनों को फॉरवर्ड करता है।

Custom Local Port

यदि 7657 पहले से उपयोग में है तो एक अलग लोकल पोर्ट का उपयोग करें:

ssh -L 8080:127.0.0.1:7657 user@remote-server

I2P कंसोल को http://127.0.0.1:8080 पर एक्सेस करें।

Troubleshooting

टर्मिनल का उपयोग

त्रुटि: “bind: Address already in use”

समाधान: एक अलग लोकल पोर्ट चुनें या उस पोर्ट का उपयोग करने वाली प्रोसेस को बंद करें:

# Linux/Mac - find process on port 7657
lsof -i :7657

# Kill the process
kill [process_id]

मैक पर बैकग्राउंड Tunnels

Error: “Connection refused” या “channel 2: open failed”

संभावित कारण: - रिमोट सेवा नहीं चल रही है (जांचें कि रिमोट सर्वर पर I2P router चल रहा है या नहीं) - फ़ायरवॉल कनेक्शन को ब्लॉक कर रहा है - गलत डेस्टिनेशन पोर्ट

समाधान: सत्यापित करें कि रिमोट सर्वर पर I2P router चल रहा है:

ssh user@remote-server "systemctl status i2p"

Mac पर SSH Key सेटअप

त्रुटि: “Permission denied” या “Authentication failed”

संभावित कारण: - गलत उपयोगकर्ता नाम या पासवर्ड - SSH key उचित तरीके से कॉन्फ़िगर नहीं की गई - रिमोट सर्वर पर SSH एक्सेस अक्षम है

समाधान: क्रेडेंशियल्स को सत्यापित करें और सुनिश्चित करें कि रिमोट सर्वर पर SSH एक्सेस सक्षम है।

Tunnel Drops Connection

त्रुटि: निष्क्रियता की अवधि के बाद कनेक्शन डिस्कनेक्ट हो जाता है

समाधान: अपनी SSH config (~/.ssh/config) में keep-alive सेटिंग्स जोड़ें:

Host remote-server
    ServerAliveInterval 60
    ServerAliveCountMax 3

Security Best Practices

  • SSH keys का उपयोग करें: पासवर्ड की तुलना में अधिक सुरक्षित, समझौता करना कठिन
  • पासवर्ड प्रमाणीकरण अक्षम करें: एक बार SSH keys सेट हो जाने पर, सर्वर पर पासवर्ड लॉगिन अक्षम कर दें
  • मजबूत पासवर्ड उपयोग करें: यदि पासवर्ड प्रमाणीकरण का उपयोग कर रहे हैं, तो एक मजबूत, अद्वितीय पासवर्ड का उपयोग करें
  • SSH एक्सेस सीमित करें: विश्वसनीय IPs तक SSH एक्सेस सीमित करने के लिए फ़ायरवॉल नियम कॉन्फ़िगर करें
  • SSH को अपडेट रखें: अपने SSH client और server सॉफ़्टवेयर को नियमित रूप से अपडेट करें
  • लॉग मॉनिटर करें: संदिग्ध गतिविधि के लिए सर्वर पर SSH लॉग जांचें
  • गैर-मानक SSH ports का उपयोग करें: स्वचालित हमलों को कम करने के लिए डिफ़ॉल्ट SSH port (22) बदलें

Linux पर SSH Tunnels बनाना

I2P Console तक पहुंच

स्वचालित रूप से टनल स्थापित करने के लिए एक स्क्रिप्ट बनाएं:

#!/bin/bash
# i2p-tunnel.sh

ssh -f -N -L 7657:127.0.0.1:7657 i2p@20.228.143.58
echo "I2P tunnel established"

इसे निष्पादन योग्य बनाएं:

chmod +x i2p-tunnel.sh
./i2p-tunnel.sh

मल्टिपल टनल्स

स्वचालित टनल निर्माण के लिए एक systemd सेवा बनाएं:

sudo nano /etc/systemd/system/i2p-tunnel.service

जोड़ें:

[Unit]
Description=I2P SSH Tunnel
After=network.target

[Service]
ExecStart=/usr/bin/ssh -NT -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Restart=always
RestartSec=10
User=your-username

[Install]
WantedBy=multi-user.target

सक्षम करें और शुरू करें:

sudo systemctl enable i2p-tunnel
sudo systemctl start i2p-tunnel

Advanced Tunneling

कस्टम लोकल पोर्ट

डायनामिक फ़ॉरवर्डिंग के लिए एक SOCKS प्रॉक्सी बनाएं:

ssh -D 8080 user@remote-server

अपने ब्राउज़र को SOCKS5 प्रॉक्सी के रूप में 127.0.0.1:8080 उपयोग करने के लिए कॉन्फ़िगर करें।

Reverse Tunneling

रिमोट सर्वर को अपनी लोकल मशीन पर सेवाओं तक पहुंचने की अनुमति दें:

ssh -R 7657:127.0.0.1:7657 user@remote-server

पोर्ट पहले से उपयोग में है

एक मध्यवर्ती सर्वर के माध्यम से Tunnel:

ssh -J jumphost.example.com -L 7657:127.0.0.1:7657 user@final-server

Conclusion

SSH tunneling एक शक्तिशाली उपकरण है जो दूरस्थ I2P routers और अन्य सेवाओं तक सुरक्षित रूप से पहुँचने के लिए उपयोग किया जाता है। चाहे आप Windows, Linux, या Mac उपयोग कर रहे हों, यह प्रक्रिया सीधी है और आपके कनेक्शन के लिए मजबूत एन्क्रिप्शन प्रदान करती है।

अतिरिक्त सहायता या प्रश्नों के लिए, I2P समुदाय पर जाएं: - फोरम: i2pforum.net - IRC: विभिन्न नेटवर्क पर #i2p - दस्तावेज़ीकरण: I2P Docs


मार्गदर्शिका मूल रूप से Stormy Cloud द्वारा बनाई गई, I2P दस्तावेज़ीकरण के लिए अनुकूलित।

Was this page helpful?