Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ssh-hardening — SSH सख्तीकरण | Kitploit
उपकरण/GitHubGitHub/spookey007/ssh-hardening
सामान्य उपयोगिताएँस्क्रिप्टिंग और स्वचालनकॉन्फ़िगरेशन ऑडिटिंगनेटवर्क सुरक्षाप्रमाणीकरण
GitHubspookey007/ssh-hardening

ssh-hardening

SSH सख्तीकरण

रिपॉजिटरी देखें
366 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

SSH हार्डनिंग

Debian/Ubuntu पर SSH को एक बार में लॉक डाउन करें: नया पोर्ट, कोई रूट लॉगिन नहीं, की-आधारित प्रमाणीकरण, वैकल्पिक UFW और Fail2Ban।


आप क्या देखेंगे

जब आप स्क्रिप्ट चलाते हैं, तो यह आपके OS का पता लगाता है और जारी रखने से पहले सेटिंग्स दिखाता है:

SSH हार्डनिंग — स्क्रिप्ट प्रॉम्प्ट


त्वरित आरंभ (चरण-दर-चरण)

1️⃣ git इंस्टॉल करें (यदि आवश्यक हो)

Debian/Ubuntu पर:

root@kitploit:~
sudo apt-get install -y git

2️⃣ रिपॉजिटरी क्लोन करें और फ़ोल्डर में प्रवेश करें

root@kitploit:~
rm -rf ssh-hardening
git clone https://github.com/spookey007/ssh-hardening.git
cd ssh-hardening

जब भी आप नवीनतम स्क्रिप्ट चाहें, इसे चलाएँ।

3️⃣ स्क्रिप्ट को निष्पादन योग्य बनाएं

root@kitploit:~
chmod +x ssh_harden.sh script.sh

यदि आप इसे छोड़ देते हैं, तो ./ssh_harden.sh चलाने पर आपको "command not found" मिल सकता है। यदि ऐसा होता है, तो इसके बजाय sudo bash ssh_harden.sh के साथ चरण 5 का उपयोग करें।

4️⃣ अपने PC पर SSH कुंजी बनाएं (SSH_PUB_KEY के रूप में पेस्ट करने के लिए)

Linux / macOS

root@kitploit:~
ssh-keygen -t ed25519 -C "[email protected]"

डिफ़ॉल्ट पथ (~/.ssh/id_ed25519) के लिए Enter दबाएँ। वैकल्पिक: एक पासफ़्रेज़ सेट करें।

अपनी सार्वजनिक कुंजी दिखाएं (इसे SSH_PUB_KEY में कॉपी करें):

root@kitploit:~
cat ~/.ssh/id_ed25519.pub

Windows (PowerShell या Git Bash)

root@kitploit:~
ssh-keygen -t ed25519 -C "[email protected]"

डिफ़ॉल्ट पथ के लिए Enter दबाएँ। वैकल्पिक: एक पासफ़्रेज़ सेट करें।

अपनी सार्वजनिक कुंजी दिखाएं:

  • PowerShell: Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub
  • CMD: type %USERPROFILE%\.ssh\id_ed25519.pub

पूरी पंक्ति कॉपी करें (ssh-ed25519 ... से शुरू होती है)। यह आपका SSH_PUB_KEY है।

5️⃣ स्क्रिप्ट को रूट के रूप में चलाएं

अपने मानों से बदलें, फिर चलाएं:

root@kitploit:~
sudo SSH_USER=kamaileo \
     SSH_PASS='YourStrongPassword123!' \
     SSH_PORT=49221 \
     PORTS="5060,5061,10000-20000" \
     SSH_PUB_KEY="ssh-ed25519 AAAA... you@yourmachine" \
     ./ssh_harden.sh

यदि आपको "command not found" मिलता है, तो उपयोग करें:

root@kitploit:~
sudo bash ssh_harden.sh

(सामने समान SSH_USER=... SSH_PASS=... आदि के साथ)।

6️⃣ प्रॉम्प्ट का पालन करें

  • सेटिंग्स की पुष्टि करें (उपयोगकर्ता, पोर्ट, कुंजी)।
  • UFW और Fail2Ban के लिए Y या n चुनें।

7️⃣ लॉगिन का परीक्षण करें (अपने वर्तमान सत्र को बंद करने से पहले)

एक नए टर्मिनल में, नए पोर्ट (22 नहीं) का उपयोग करके कनेक्ट करें:

root@kitploit:~
ssh -p 49221 kamaileo@YOUR_SERVER_IP

आपके द्वारा सेट किए गए पोर्ट और उपयोगकर्ता का उपयोग करें। लॉगिन और sudo काम करने की पुष्टि करने के बाद ही मूल सत्र बंद करें।


नए उपयोगकर्ताओं के लिए सुझाव

  • हर बार नए पोर्ट का उपयोग करें। हार्डनिंग के बाद, SSH पोर्ट 22 पर नहीं रहता है। हमेशा इसके साथ कनेक्ट करें:

    root@kitploit:~
    ssh -p <YOUR_PORT> <USER>@<SERVER_IP>
    

    उदाहरण: ssh -p 49221 [email protected]

  • स्क्रिप्ट के समाप्त होने पर उसके आउटपुट को सहेजें। अंत में स्क्रिप्ट आपके उपयोगकर्ता, पोर्ट, कनेक्ट कमांड और पासवर्ड सेट किया गया था या नहीं, इसका सारांश प्रिंट करती है। उस ब्लॉक को कॉपी या स्क्रीनशॉट लें और इसे सुरक्षित स्थान पर रखें। यदि आप अपनी SSH कुंजी खो देते हैं, पोर्ट भूल जाते हैं, या पासवर्ड भूल जाते हैं, तो वह रिकॉर्ड आपको पुनर्प्राप्त करने या पुनः कनेक्ट करने में मदद करेगा (जैसे, समान उपयोगकर्ता और पासवर्ड का उपयोग करके कंसोल/VNC के माध्यम से)।

  • स्क्रिप्ट आपकी ज़रूरत की सभी चीज़ें आउटपुट करती है: उपयोगकर्ता, पोर्ट, UFW/Fail2Ban स्थिति, और सटीक ssh -p ... कमांड। कोई अनुमान नहीं।


यदि उपयोगकर्ता पहले से मौजूद है

यदि SSH_USER पहले से सर्वर पर है, तो स्क्रिप्ट नया उपयोगकर्ता नहीं बनाती और पासवर्ड नहीं बदलती। यह केवल:

  • सुनिश्चित करती है कि उपयोगकर्ता sudo समूह में है
  • यदि आप SSH_PUB_KEY पास करते हैं तो ~/.ssh/authorized_keys अपडेट करती है
  • SSH कॉन्फ़िगरेशन को हार्डन करती है, और वैकल्पिक रूप से UFW और Fail2Ban

तो आप मौजूदा पासवर्ड को छुए बिना इसे फिर से "केवल हार्डन" करने के लिए चला सकते हैं।


आपको क्या सेट करना है

चरउदाहरणयह क्या करता है
SSH_USERkamaileoउपयोगकर्ता नाम (यदि गायब है तो बनाया जाता है; यदि मौजूद है, तो पासवर्ड अपरिवर्तित छोड़ दिया जाता है)।
SSH_PASS'YourPass123!'केवल नए उपयोगकर्ताओं के लिए पासवर्ड। एक मजबूत पासवर्ड का उपयोग करें।
SSH_PORT49221SSH पोर्ट। आप इसका उपयोग करेंगे: ssh -p 49221 user@server।
PORTS"5060,5061,10000-20000"UFW के लिए अतिरिक्त पोर्ट (वैकल्पिक)।
SSH_PUB_KEY"ssh-ed25519 AAAA..."आपकी सार्वजनिक कुंजी। दृढ़ता से अनुशंसित है ताकि आप बाहर न निकल जाएँ।

OS समर्थन और git इंस्टॉलेशन

OSसमर्थितपरीक्षण किया गयाGit इंस्टॉल
Debian 12 x64✅✅sudo apt-get install -y git
Debian 11/10, Ubuntu 24/22/20✅❌sudo apt-get install -y git
RHEL / Rocky / Alma / CentOS❌❌sudo yum install -y git
Fedora❌❌sudo dnf install -y git
Arch❌❌sudo pacman -Syu git
openSUSE❌❌sudo zypper install -y git

असमर्थित OS पर स्क्रिप्ट Coming soon 😊 प्रिंट करती है और कुछ भी बदले बिना बाहर निकल जाती है।


सुरक्षा नोट्स

  • SSH_PUB_KEY सेट करें ताकि पासवर्ड प्रमाणीकरण अक्षम होने के बाद भी आप लॉग इन कर सकें।
  • पहले VM या डिस्पोजेबल सर्वर पर परीक्षण करें।
  • अपने वर्तमान सत्र को तब तक खुला रखें जब तक आप ssh -p PORT user@server का परीक्षण नहीं कर लेते।

मुझे कॉफी खरीदें

यदि इस स्क्रिप्ट ने आपका समय या सिरदर्द बचाया है, तो आप एक बार की टिप के साथ परियोजना का समर्थन कर सकते हैं।

BTC: 3L1Gc4avD4Bqoi2F9aq6z4heT13fXA8DZ9

फिर भी धन्यवाद।


लेखक

@spookey007

टूल डाउनलोड करें