目次
- 1 1. परिचय
- 2 २. SSH को आधारभूत अवधारणा
- 3 3. Ubuntu मा SSH सर्वरको स्थापना
- 4 ४. SSH जडानको सेटिङ
- 5 ५. SSH जडानको निष्पादन
- 6 6. SSH जडानको समस्या निवारण
- 6.1 SSH जडान त्रुटिहरूको सामान्य कारणहरू र सम्बोधन विधिहरू
- 6.2 1. SSH सर्वर सुरु भएको छैन
- 6.3 2. फायरवाल (UFW) ले SSH जडानलाई अवरोध गरिरहेको छ
- 6.4 3. पोर्ट नम्बर परिवर्तन गरिएको छ
- 6.5 4. SSH कुञ्जीको अनुमतिहरू सही छैनन्
- 6.6 5. होस्ट कुञ्जीको असंगति
- 6.7 6. SSH लगहरूको जाँच
- 6.8 7. जडानले समय समाप्त गर्दा
- 6.9 सारांश
- 7 7. SSH को सुरक्षा सुदृढीकरण
- 8 8. सामान्य प्रश्नहरू (FAQ)
- 8.1 Q1: SSH जडान गर्दा “जडान अस्वीकार गरियो” देखाउने कारण के हो?
- 8.2 Q2: SSH को डिफल्ट पोर्ट परिवर्तन गर्ने विधि के हो?
- 8.3 Q3: सार्वजनिक कुञ्जी प्रमाणीकरण काम नगरेको अवस्थामा जाँच गर्नुपर्ने बुँदाहरू के हुन्?
- 8.4 Q4: निश्चित IP ठेगानाबाट मात्र SSH जडान अनुमति दिन कसरी गर्ने?
- 8.5 Q5: SSH जडानको समयसीमा परिवर्तन गर्ने विधि के हो?
- 8.6 सारांश
- 9 9. सारांश
- 10 सम्बन्धित लेखहरू
1. परिचय
Ubuntu मा SSH प्रयोग गरेर, रिमोटबाट सर्वर वा PC मा सुरक्षित रूपमा पहुँच गर्न र सञ्चालन गर्न सकिन्छ। यो लेखमा, SSH को अवलोकनबाट, Ubuntu मा SSH सर्वरको स्थापना, सुरक्षा उपायहरू, समस्या निवारण सम्म, शुरुआतीहरूले पनि बुझ्न सक्ने गरी विस्तृत रूपमा व्याख्या गरिएको छ।SSH भनेको के हो?
SSH (Secure Shell) नेटवर्क मार्फत सुरक्षित रूपमा रिमोट कम्प्युटरमा जडान गर्नका लागि प्रोटोकल हो। पुरानो Telnet वा FTP भन्दा फरक, डाटा एन्क्रिप्टेड हुने भएकाले, चोरी सुन्ने वा परिवर्तन गर्ने जोखिमलाई धेरै कम गर्न सकिन्छ।Ubuntu मा SSH को मुख्य प्रयोगहरू
Ubuntu मा SSH प्रयोग गर्ने मुख्य अवस्थाहरू निम्नानुसार छन्।- रिमोट सर्वर व्यवस्थापन: Ubuntu सर्वरलाई टाढाबाट सञ्चालन
- फाइल स्थानान्तरण: SCP वा SFTP प्रयोग गरेर सुरक्षित फाइल आदानप्रदान
- पोर्ट फर्वार्डिङ: सुरक्षालाई मजबुत बनाएको रिमोट जडान
यो लेखबाट सिक्न सकिने कुराहरू
- SSH को आधारभूत अवधारणा र संरचना
- Ubuntu मा SSH सर्वरको स्थापना विधि
- SSH जडानको सेटिङ र समस्या निवारण
- SSH को सुरक्षा उपायहरू
२. SSH को आधारभूत अवधारणा
SSH लाई प्रभावकारी रूपमा उपयोग गर्नको लागि, यसको आधारभूत अवधारणालाई बुझ्नु महत्वपूर्ण छ। यस अध्यायमा, SSH को संयन्त्र र प्रमाणीकरण विधिहरूको भिन्नताहरू बारे व्याख्या गरिन्छ।SSH को संयन्त्र
SSH क्लाइन्ट र सर्भर बीच सुरक्षित कनेक्सन स्थापित गर्ने प्रोटोकल हो। डिफल्ट रूपमा, TCP को २२ नम्बर पोर्ट प्रयोग गर्दछ र एन्क्रिप्टेड सञ्चार गर्दछ।मुख्य कार्यहरू- दूरस्थ लगइन: सर्भरमा कमान्डहरू निष्पादन गर्नु
- फाइल स्थानान्तरण: SCP वा SFTP मार्फत सुरक्षित डाटा पठाउनु
- पोर्ट फर्वार्डिङ: SSH मार्फत अन्य सेवाहरूसँग जोडिनु
SSH को प्रमाणीकरण विधिहरू
SSH मा मुख्य रूपमा निम्न दुई प्रमाणीकरण विधिहरू छन्।पासवर्ड प्रमाणीकरण
- प्रयोगकर्ता नाम र पासवर्ड प्रविष्ट गरेर लगइन गर्नु
- सजिलो तर, ब्रुट फोर्स आक्रमणको जोखिम छ
सार्वजनिक कुञ्जी प्रमाणीकरण
- सार्वजनिक कुञ्जी र गोप्य कुञ्जी प्रयोग गरेर प्रमाणीकरण विधि
- उच्च सुरक्षा, सिफारिस गरिएको प्रमाणीकरण विधि
SSH को फाइदाहरू
- डाटाको एन्क्रिप्सन: सञ्चार सामग्री संरक्षित हुन्छ
- दूरस्थ व्यवस्थापन सजिलो: कुनै पनि ठाउँबाट पहुँच सम्भव
- सुरक्षाको सुधार: अनधिकृत पहुँच रोक्न सजिलो
3. Ubuntu मा SSH सर्वरको स्थापना
Ubuntu मा SSH प्रयोग गर्न OpenSSH सर्वर स्थापना गर्न आवश्यक छ। यहाँ स्थापना प्रक्रिया र आधारभूत सेटिङहरू बारे व्याख्या गरिएको छ।OpenSSH सर्वरको स्थापना
Ubuntu मा निम्न कमान्डहरूबाट OpenSSH सर्वर स्थापना गर्न सकिन्छ।sudo apt update
sudo apt install openssh-server
स्थापना सम्पन्न भएपछि, SSH सेवा सुरु भएको छ कि जाँच गरौं।sudo systemctl status ssh
SSH सेवाको सुरुवात र स्थिति जाँच
SSH सेवालाई म्यानुअल रूपमा सुरु वा बन्द गर्न निम्न कमान्डहरू प्रयोग गर्नुहोस्।# SSH लाई सुरु गर्नुहोस्
sudo systemctl start ssh
# SSH लाई सक्षम गर्नुहोस् (पुनरारम्भ पछि पनि स्वत: सुरु)
sudo systemctl enable ssh
# SSH लाई रोक्नुहोस्
sudo systemctl stop ssh
UFW (Uncomplicated Firewall) को सेटिङ
पूर्वनिर्धारित रूपमा, यदि UFW सक्रिय छ भने SSH जडान अवरुद्ध हुन सक्छ। निम्न कमान्डहरूबाट SSH पोर्ट (२२) लाई अनुमति दिनुहोस्।sudo ufw allow ssh
sudo ufw enable
४. SSH जडानको सेटिङ
SSH लाई सुरक्षित रूपमा प्रयोग गर्नको लागि उपयुक्त सेटिङ गर्न आवश्यक छ। यस अध्यायमा सार्वजनिक कुञ्जी प्रमाणीकरणको सेटिङ विधि व्याख्या गरिन्छ।कुञ्जी जोडीको निर्माण
क्लाइन्ट पक्षमा निम्न कमान्ड चलाएर सार्वजनिक कुञ्जी र गोप्य कुञ्जीको जोडी बनाउनुहोस्।ssh-keygen -t rsa -b 4096
डिफल्टमा, ~/.ssh/id_rsa
मा गोप्य कुञ्जी, ~/.ssh/id_rsa.pub
मा सार्वजनिक कुञ्जी बचत हुन्छ।सार्वजनिक कुञ्जीको सर्वरमा राख्ने
बनाएको सार्वजनिक कुञ्जीलाई SSH सर्वरमा स्थानान्तरण गर्नुहोस्।ssh-copy-id username@server_IP_address
वा, म्यानुअल रूपमा प्रतिलिपि गर्दा:scp ~/.ssh/id_rsa.pub username@server_IP_address:~/
सर्वर पक्षमा निम्न कमान्ड चलाएर सार्वजनिक कुञ्जीलाई उपयुक्त डाइरेक्टरीमा राख्नुहोस्।mkdir -p ~/.ssh
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm ~/id_rsa.pub
sshd_config को सम्पादन
SSH को सेटिङ फाइल खोल्नुहोस् र सुरक्षालाई उन्नत बनाउनुहोस्।sudo nano /etc/ssh/sshd_config
निम्न वस्तुहरू जाँच र सम्पादन गर्नुहोस्।# पासवर्ड प्रमाणीकरणलाई निष्क्रिय गर्नुहोस् (सार्वजनिक कुञ्जी प्रमाणीकरण मात्र)
PasswordAuthentication no
# रुट लगइन निषेध
PermitRootLogin no
# प्रयोग गर्ने पोर्ट परिवर्तन (उदाहरण: २२२२)
Port 2222
सेटिङ परिवर्तन गरेपछि, SSH सेवालाई पुन: आरम्भ गर्नुहोस्।sudo systemctl restart ssh
५. SSH जडानको निष्पादन
Ubuntu मा SSH सर्वर सेटअप गरेपछि, क्लाइन्टबाट वास्तविक रूपमा जडान गर्न आवश्यक छ। यस अध्यायमा, आधारभूत SSH जडान विधि र पोर्ट परिवर्तन गर्दा जडान विधिबारे व्याख्या गरिन्छ।आधारभूत SSH जडान कमान्ड
सर्वरमा जडान गर्न SSH क्लाइन्ट प्रयोग गर्दा, निम्न कमान्ड प्रयोग गर्नुहोस्।ssh username@server IP address
उदाहरणका लागि, सर्वरको IP ठेगाना 192.168.1.10
र प्रयोगकर्ता नाम ubuntu
भएको अवस्थामा, निम्नानुसार 입력 गर्नुहोस्।ssh ubuntu@192.168.1.10
पहिलो पटक जडान गर्दा, सर्वरको फिंगरप्रिन्ट देखाइने भएकाले, “yes” भर्नुहोस् र जडान स्वीकृत गर्नुहोस्।पोर्ट नम्बर परिवर्तन गरेमा जडान
डिफल्ट २२ नम्बर पोर्ट होइन, उदाहरणका लागि “२२२२” मा परिवर्तन गरेमा, निम्नानुसार-p
विकल्प थपेर निर्दिष्ट गर्नुहोस्।ssh -p 2222 ubuntu@192.168.1.10
गोप्य कुञ्जी निर्दिष्ट गरेर जडान
प्रकाशित कुञ्जी प्रमाणीकरण सेटअप गरेमा, निम्नानुसार-i
विकल्प प्रयोग गरेर गोप्य कुञ्जी निर्दिष्ट गर्न सकिन्छ।ssh -i ~/.ssh/id_rsa ubuntu@192.168.1.10
SSH मार्फत रिमोट कमान्ड निष्पादन
रिमोट सर्वरमा लगइन नगरी, सिधै कमान्ड निष्पादन गर्न सकिन्छ।ssh ubuntu@192.168.1.10 "ls -lah /home/ubuntu"
यो विधि प्रयोग गरेमा, स्क्रिप्टको स्वचालन र रिमोट सञ्चालनलाई कुशलतापूर्वक गर्न सकिन्छ।SCP प्रयोग गरेर फाइल स्थानान्तरण
SSH प्रयोग गरेर, स्थानीय PC र रिमोट सर्वरबीच फाइल स्थानान्तरण गर्न सकिन्छ।स्थानीय → रिमोटscp filename username@server IP address:remote directory
उदाहरण:scp myfile.txt ubuntu@192.168.1.10:/home/ubuntu/
रिमोट → स्थानीयscp username@server IP address:remote filename local directory
उदाहरण:scp ubuntu@192.168.1.10:/home/ubuntu/myfile.txt ./
SFTP प्रयोग गरेर फाइल व्यवस्थापन
SFTP प्रयोग गरेर फाइल व्यवस्थापन गर्न सकिन्छ।sftp ubuntu@192.168.1.10
जडान पछि, निम्न जस्ता कमान्ड प्रयोग गर्न सकिन्छ।ls # file list
cd # directory change
put filename # upload from local to remote
get filename # download from remote to local
exit # end connection
6. SSH जडानको समस्या निवारण
SSH जडान गर्दा समस्या उत्पन्न हुनु अस्वाभाविक छैन। यहाँ, सामान्य समस्याहरू र तिनको समाधान विधिहरूको व्याख्या गरिन्छ।SSH जडान त्रुटिहरूको सामान्य कारणहरू र सम्बोधन विधिहरू
SSH जडान सफल नभएमा, निम्नलिखित जस्ता कारणहरू हुन सक्छन्।1. SSH सर्वर सुरु भएको छैन
SSH सर्वर सामान्य रूपमा कार्य गरिरहेको छ वा छैन भनेर जाँचौं।sudo systemctl status ssh
समाधान:- SSH सर्वर रोकेको छ भने, निम्न कमान्डले सुरु गर्नुहोस्।
sudo systemctl start ssh
- सर्वरलाई पुन: सुरु गर्दा SSH स्वतः सुरु हुने गरी गर्नका लागि, निम्न कमान्ड कार्यान्वयन गर्नुहोस्।
sudo systemctl enable ssh
2. फायरवाल (UFW) ले SSH जडानलाई अवरोध गरिरहेको छ
UFW (Uncomplicated Firewall) सक्रिय छ भने, SSH अवरोधित भएको हुन सक्छ।समाधान:- वर्तमान UFW सेटिङ जाँच गर्नुहोस्।
sudo ufw status
- SSH लाई अनुमति दिनुहोस्।
sudo ufw allow ssh
(पोर्ट परिवर्तन गरेको छ भने sudo ufw allow <पोर्ट_नम्बर>
कार्यान्वयन गर्नुहोस्)- UFW लाई पुन: सुरु गर्नुहोस्।
sudo ufw reload
3. पोर्ट नम्बर परिवर्तन गरिएको छ
डिफल्ट22
पोर्टको सट्टा कस्टम पोर्ट प्रयोग गरिएको छ भने, जडान गर्दा उपयुक्त पोर्ट निर्दिष्ट गर्न आवश्यक छ।समाधान:- सर्वर पक्षमा प्रयोग भएको पोर्ट जाँच गर्नुहोस्।
sudo grep Port /etc/ssh/sshd_config
- क्लाइन्ट पक्षमा उपयुक्त पोर्ट निर्दिष्ट गरेर जडान गर्नुहोस्।
ssh -p 2222 प्रयोगकर्ता_नाम@सर्वरको_IP_ठेगाना
4. SSH कुञ्जीको अनुमतिहरू सही छैनन्
प्रकाशित कुञ्जी प्रमाणीकरण प्रयोग गरिएको छ भने, कुञ्जी फाइलको अनुमतिहरू उपयुक्त नभए जडान हुन सक्दैन।समाधान:- गोप्य कुञ्जीको अनुमतिहरू उपयुक्त रूपमा सेट गर्नुहोस्।
chmod 600 ~/.ssh/id_rsa
- प्रकाशित कुञ्जीको अनुमतिहरू उपयुक्त रूपमा सेट गर्नुहोस्।
chmod 644 ~/.ssh/authorized_keys
5. होस्ट कुञ्जीको असंगति
सर्वरको SSH होस्ट कुञ्जी परिवर्तन भएको छ भने, क्लाइन्ट पक्षमा “WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!” जस्तो त्रुटि उत्पन्न हुन सक्छ।समाधान:- पुरानो होस्ट कुञ्जीलाई हटाउनुहोस्।
ssh-keygen -R <सर्वरको_IP_ठेगाना>
- फेरि SSH जडान प्रयास गर्नुहोस्।
ssh प्रयोगकर्ता_नाम@सर्वरको_IP_ठेगाना
6. SSH लगहरूको जाँच
SSH को विस्तृत त्रुटि सन्देशहरू जाँच गर्न सर्वर पक्षको लगहरू हेर्नुहोस्।sudo journalctl -u ssh --no-pager | tail -n 20
यसैगरी, रीयलटाइममा लगहरू जाँच गर्न निम्न कमान्ड कार्यान्वयन गर्नुहोस्।sudo tail -f /var/log/auth.log
7. जडानले समय समाप्त गर्दा
SSH जडान ढिलो छ वा बीचमा विच्छेद हुन्छ भने, निम्न बिन्दुहरू जाँच गर्नुहोस्।समाधान:- KeepAlive लाई सक्रिय गर्नुहोस् क्लाइन्टको
~/.ssh/config
मा निम्न थप्नुहोस्।
Host *
ServerAliveInterval 60
- सर्वर पक्षमा समय समाप्त सेटिङ समायोजन गर्नुहोस्
/etc/ssh/sshd_config
मा निम्न थपेर, SSH सेवालाई पुन: सुरु गर्नुहोस्।
ClientAliveInterval 60
ClientAliveCountMax 3
sudo systemctl restart ssh
सारांश
SSH जडानका समस्याहरू विभिन्न कारणहरूले उत्पन्न हुन्छन्, तर धेरै अवस्थामा निम्न जाँच बिन्दुहरूबाट समाधान गर्न सकिन्छ। ✅SSH सेवा सुरु भएको छ कि जाँच गर्नुहोस्✅फायरवालले अवरोध गरेको छैन कि जाँच गर्नुहोस्✅पोर्ट सेटिङ सही छ कि जाँच गर्नुहोस्✅SSH कुञ्जीको अनुमतिहरू उपयुक्त छन् कि जाँच गर्नुहोस्✅त्रुटि सन्देशहरूलाई लगहरूमा जाँच गर्नुहोस्
7. SSH को सुरक्षा सुदृढीकरण
SSH एक शक्तिशाली रिमोट पहुँच उपकरण हो, तर उपयुक्त सुरक्षा उपायहरू नगरेमा, अनधिकृत पहुँच वा ब्रुट फोर्स आक्रमणको लक्ष्य बन्न सक्छ। यस अध्यायमा, SSH को सुरक्षालाई बढाउनका लागि सिफारिस गरिएका सेटिङहरूको व्याख्या गरिन्छ।1. पासवर्ड प्रमाणीकरणलाई असक्षम बनाउने र सार्वजनिक कुञ्जी प्रमाणीकरणको सिफारिस
डिफल्ट रूपमा, SSH ले पासवर्ड प्रमाणीकरणलाई अनुमति दिन्छ, तर यो ब्रुट फोर्स आक्रमणको जोखिम बढाउँछ। SSH को सार्वजनिक कुञ्जी प्रमाणीकरणलाई सक्रिय गर्दै पासवर्ड प्रमाणीकरणलाई असक्षम बनाएर सुरक्षालाई सुदृढ गर्न सकिन्छ।प्रक्रिया
sshd_config
लाई सम्पादन गर्ने
sudo nano /etc/ssh/sshd_config
- निम्न सेटिङहरूलाई परिवर्तन गर्ने (वा थप्ने)
PasswordAuthentication no
PubkeyAuthentication yes
- SSH सेवालाई पुन: सुरु गर्ने
sudo systemctl restart ssh
यो सेटिङबाट, SSH ले सार्वजनिक कुञ्जी प्रमाणीकरण मात्र स्वीकार गर्न थाल्छ। पहिले नै सार्वजनिक कुञ्जीको सेटिङ पूरा गरेपछि मात्र लागू गर्नुहोस्।2. SSH को पोर्ट नम्बर परिवर्तन गर्ने
SSH को डिफल्ट पोर्ट (२२ नम्बर) लाई यथावत् राख्दा, आक्रमणकारीहरूको निशानामा पर्न सजिलो हुन्छ। सुरक्षालाई सुधार्नका लागि, पोर्ट नम्बर परिवर्तन गर्न सिफारिस गरिन्छ।प्रक्रिया
sshd_config
लाई खोल्ने
sudo nano /etc/ssh/sshd_config
- निम्नानुसार परिवर्तन गर्ने (उदाहरण: २२२२ मा परिवर्तन)
Port 2222
- नयाँ पोर्टलाई फायरवालमा अनुमति दिने
sudo ufw allow 2222/tcp
- SSH सेवालाई पुन: सुरु गर्ने
sudo systemctl restart ssh
- नयाँ पोर्टमा कनेक्सन परीक्षण गर्ने
ssh -p 2222 प्रयोगकर्ता_नाम@सर्भरको_IP_ठेगाना
3. रुट प्रयोगकर्ताको SSH लगइनलाई निषेध गर्ने
डिफल्ट रूपमा, रुट प्रयोगकर्ताले SSH लगइन गर्न सक्छ, तर यो सुरक्षा जोखिम हुन्छ। सामान्य प्रयोगकर्ताहरू मात्र SSH पहुँचलाई अनुमति दिने र आवश्यकताअनुसारsudo
प्रयोग गर्ने सिफारिस गरिन्छ।प्रक्रिया
sshd_config
लाई खोल्ने
sudo nano /etc/ssh/sshd_config
- निम्न लाइनलाई परिवर्तन गर्ने
PermitRootLogin no
- SSH सेवालाई पुन: सुरु गर्ने
sudo systemctl restart ssh
4. Fail2Ban लाई स्थापना गरेर ब्रुट फोर्स आक्रमण रोक्ने
Fail2Ban ले अनधिकृत लगइन प्रयासहरूलाई पत्ता लगाउँछ र निश्चित संख्याभन्दा बढी असफल भएमा IP ठेगानालाई स्वचालित रूपमा ब्लक गर्छ।स्थापना र सेटिङ
- Fail2Ban लाई स्थापना गर्ने
sudo apt install fail2ban -y
- सेटिङ फाइललाई प्रतिलिपि गर्ने
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
jail.local
लाई सम्पादन गर्ने
sudo nano /etc/fail2ban/jail.local
[sshd]
को आइटमलाई परिवर्तन गर्ने
[sshd]
enabled = true
maxretry = 5
bantime = 600
findtime = 600
maxretry
: अनुमति दिइएको लगइन असफल प्रयास संख्याbantime
: ब्लक गर्ने समय (सेकेन्ड)findtime
: असफल प्रयासहरूको मूल्यांकन अवधि (सेकेन्ड)
- Fail2Ban लाई पुन: सुरु गर्ने
sudo systemctl restart fail2ban
- वर्तमान Fail2Ban को स्थिति जाँच्ने
sudo fail2ban-client status sshd
सारांश
SSH को सुरक्षालाई सुदृढ गर्नका लागि, निम्न उपायहरू लागू गर्नुहोस्। ✅पासवर्ड प्रमाणीकरणलाई असक्षम बनाउने र सार्वजनिक कुञ्जी प्रमाणीकरण प्रयोग गर्ने✅SSH को पोर्ट नम्बर परिवर्तन गरेर आक्रमण जोखिम कम गर्ने✅रुट लगइनलाई निषेध गरेर, निश्चित प्रयोगकर्ताहरू मात्र पहुँच अनुमति दिने✅Fail2Ban लाई स्थापना गरेर ब्रुट फोर्स आक्रमण रोक्ने8. सामान्य प्रश्नहरू (FAQ)
SSH सेटअप र सञ्चालन गर्दा, सामान्य शंका र समस्याहरूको विस्तृत व्याख्या गर्दछौं।Q1: SSH जडान गर्दा “जडान अस्वीकार गरियो” देखाउने कारण के हो?
SSH सर्वरमा जडान अस्वीकार हुने कारणहरू धेरै हुन सक्छन्।मुख्य कारणहरू र उपायहरू- SSH सेवा सुरु भएको छैन
sudo systemctl status ssh
उपाय: सेवा रोकेको छ भने सुरु गर्नुहोस्। sudo systemctl start ssh
- फायरवाल (UFW) ले ब्लक गरिरहेको छ
sudo ufw allow ssh
sudo ufw enable
- पोर्ट नम्बर परिवर्तन SSH को पोर्ट नम्बर डिफल्ट (22) बाहेक परिवर्तन गरेको छ भने, सही पोर्ट निर्दिष्ट गर्नुहोस्।
ssh -p 2222 username@server_IP_address
Q2: SSH को डिफल्ट पोर्ट परिवर्तन गर्ने विधि के हो?
डिफल्ट 22 नम्बर पोर्ट आक्रमणको लक्ष्य बन्न सजिलो हुने भएकाले, परिवर्तन गर्दा सुरक्षित हुन्छ।चरणहरू- सेटिङ फाइल सम्पादन गर्नुहोस्
sudo nano /etc/ssh/sshd_config
Port
को मान परिवर्तन गर्नुहोस् (उदाहरण: 2222)
Port 2222
- नयाँ पोर्टलाई फायरवालमा अनुमति दिनुहोस्
sudo ufw allow 2222/tcp
- SSH सेवालाई पुन: सुरु गर्नुहोस्
sudo systemctl restart ssh
परिवर्तन पछि, नयाँ पोर्टबाट जडान प्रयास गर्नुहोस्।ssh -p 2222 username@server_IP_address
Q3: सार्वजनिक कुञ्जी प्रमाणीकरण काम नगरेको अवस्थामा जाँच गर्नुपर्ने बुँदाहरू के हुन्?
SSH सार्वजनिक कुञ्जी प्रमाणीकरण काम नगरेको अवस्थामा, निम्नलाई जाँच गर्नुहोस्।- सार्वजनिक कुञ्जी उपयुक्त रूपमा राखिएको छ कि छैन
ls -l ~/.ssh/authorized_keys
authorized_keys
अवस्थित छ र उपयुक्त कुञ्जी समावेश छ भनेर जाँच गर्नुहोस्।- फाइलको अनुमति उपयुक्त छ कि छैन
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
- SSH सर्वर सेटिङले सार्वजनिक कुञ्जी प्रमाणीकरणलाई अनुमति दिएको छ कि छैन
sudo nano /etc/ssh/sshd_config
निम्न सेटिङ जाँच गर्नुहोस्: PubkeyAuthentication yes
PasswordAuthentication no
- SSH सेवालाई पुन: सुरु गर्नुहोस्
sudo systemctl restart ssh
Q4: निश्चित IP ठेगानाबाट मात्र SSH जडान अनुमति दिन कसरी गर्ने?
SSH लाई निश्चित IP ठेगानाबाट मात्र अनुमति दिएर सुरक्षालाई मजबुत बनाउन सकिन्छ।विधि 1:sshd_config
को सम्पादन- सेटिङ फाइल खोल्नुहोस्
sudo nano /etc/ssh/sshd_config
AllowUsers
मा अनुमति दिने IP ठेगाना थप्नुहोस्
AllowUsers username@192.168.1.100
- SSH सेवालाई पुन: सुरु गर्नुहोस्
sudo systemctl restart ssh
विधि 2: फायरवाल (UFW) को सेटिङ- SSH जडान अनुमति दिने IP ठेगाना निर्दिष्ट गर्नुहोस्
sudo ufw allow from 192.168.1.100 to any port 22
- अन्य SSH जडानहरूलाई ब्लक गर्नुहोस्
sudo ufw deny 22
Q5: SSH जडानको समयसीमा परिवर्तन गर्ने विधि के हो?
SSH सत्र निश्चित समयमा विच्छेद हुने अवस्थामा, सेटिङ परिवर्तन गरेर समाधान गर्न सकिन्छ।क्लाइन्ट पक्षको सेटिङ~/.ssh/config
मा निम्न थप्नुहोस्
Host *
ServerAliveInterval 60
सर्भर पक्षको सेटिङsshd_config
लाई सम्पादन गर्नुहोस्
sudo nano /etc/ssh/sshd_config
- निम्न थप्नुहोस् वा परिवर्तन गर्नुहोस्
ClientAliveInterval 60
ClientAliveCountMax 3
- SSH सेवालाई पुन: सुरु गर्नुहोस्
sudo systemctl restart ssh
सारांश
यो अध्यायमा, SSH सम्बन्धी सामान्य प्रश्नहरू र तिनको समाधान विधिहरू प्रस्तुत गरियो। समस्या उत्पन्न भएमा, लग फाइल जाँच गर्दै कारण पहिचान गर्नु महत्वपूर्ण छ। ✅SSH जडान अस्वीकार भएमा उपचार विधि✅डिफल्ट पोर्ट परिवर्तन र उपयुक्त जडान विधि✅सार्वजनिक कुञ्जी प्रमाणीकरण काम नगरेमा जाँच सूची✅निश्चित IP ठेगानाबाट मात्र SSH जडान अनुमति दिने विधि✅SSH को समयसीमालाई रोक्ने सेटिङ9. सारांश
यो लेखमा, Ubuntu मा SSH को सेटिङ र प्रयोग विधि बारे, आधारभूत देखि प्रगत सम्म विस्तृत व्याख्या गरिएको छ। यहाँ, महत्वपूर्ण बुँदाहरूको समीक्षा गर्दै, थप सिकाइ गहिरो बनाउनका लागि स्रोतहरू प्रस्तुत गर्दछु।यो लेखका मुख्य बुँदाहरूको सारांश
1. SSH को आधारभूत र संरचना
- SSH ले सुरक्षित रूपमा रिमोट कनेक्सन गर्नका लागि प्रोटोकल हो।
- डाटा इन्क्रिप्टेड हुने भएकाले, Telnet वा FTP भन्दा सुरक्षित छ।
- प्रमाणीकरण विधिहरूमा पासवर्ड प्रमाणीकरण र प्रकाशित कुञ्जी प्रमाणीकरण छन्।
2. Ubuntu मा SSH सर्भरको स्थापना
- OpenSSH लाई
sudo apt install openssh-server
द्वारा स्थापना गर्नुहोस्। systemctl status ssh
द्वारा सेवाको अवस्था जाँच्नुहोस्।- UFW (फायरवाल) मा
sudo ufw allow ssh
चलाएर पहुँच अनुमति दिनुहोस्।
3. SSH कनेक्सनको सेटिङ
ssh प्रयोगकर्ता नाम@सर्भरको IP ठेगाना
द्वारा रिमोट कनेक्सन गर्नुहोस्।- प्रकाशित कुञ्जी प्रमाणीकरण प्रयोग गर्दा, सुरक्षा बढ्छ।
sshd_config
को सेटिङमा, पासवर्ड प्रमाणीकरण असक्षम गर्न सकिन्छ।
4. SSH को समस्या निवारण
- सेवा चलिरहेको छ कि जाँच्नुहोस् (
systemctl status ssh
)। - पोर्ट नम्बर परिवर्तन गर्दा
ssh -p 2222 प्रयोगकर्ता नाम@IP
द्वारा कनेक्ट गर्नुहोस्। ~/.ssh/authorized_keys
को अनुमति सेटिङलाई उपयुक्त रूपमा समायोजन गर्नुहोस्।
5. SSH को सुरक्षा मजबुत बनाउने
- पासवर्ड प्रमाणीकरण असक्षम गर्नुहोस् र प्रकाशित कुञ्जी प्रमाणीकरण प्रयोग गर्नुहोस्।
- SSH पोर्ट नम्बर परिवर्तन गर्नुहोस् (उदाहरण:
2222
)। - Fail2Ban लागू गर्नुहोस् र ब्रुट फोर्स आक्रमण रोक्नुहोस्।
- केवल विशिष्ट IP ठेगानाहरू मात्र अनुमति दिनुहोस् र अनधिकृत पहुँच सीमित गर्नुहोस्।
6. FAQ मा समाधान गरिएका मुख्य शंकाहरू
- «SSH कनेक्सन अस्वीकार हुन्छ» → सर्भरको सुरु अवस्था वा UFW को सेटिङ जाँच्नुहोस्।
- «प्रकाशित कुञ्जी प्रमाणीकरण काम गर्दैन» → कुञ्जीको अनुमति वा
sshd_config
जाँच्नुहोस्। - «SSH को समय समाप्त हुनबाट रोक्नु» →
ClientAliveInterval
को सेटिङ परिवर्तन गर्नुहोस्।
थप सिकाइका लागि स्रोतहरू
SSH को सेटिङलाई थप गहिरो रूपमा बुझ्नका लागि, निम्न स्रोतहरू प्रयोग गर्नुहोस्। 📚आधिकारिक कागजात 🛠सम्बन्धित उपकरणहरू- PuTTY (Windows मा SSH प्रयोग गर्दा)
- PuTTY को डाउनलोड
- MobaXterm (उच्च कार्यक्षमता SSH क्लाइन्ट)
- MobaXterm आधिकारिक साइट
- YouTube मा «Ubuntu SSH सेटिङ» आदि खोज्दा, शुरुआतीहरूका लागि व्याख्या भिडियोहरू धेरै छन्।
作成した動画を友だち、家族、世界中の人たちと共有…
अर्को चरण
यो लेख पढेर SSH को आधारभूत बुझ्नुभयो भने, निम्न जस्ता प्रगत कौशलहरू सिक्नु सिफारिस गरिन्छ। ✅Ansible प्रयोग गरेर SSH को स्वचालित व्यवस्थापन- सर्भरहरू धेरै भएमा, SSH प्रयोग गरेर Ansible ले रिमोट व्यवस्थापनलाई स्वचालित गर्न सकिन्छ।
- SSH प्रयोग गरेर सुरक्षित रूपमा रिमोट डेस्कटप कनेक्सन स्थापित गर्न सकिन्छ वा VPN जस्तै प्रयोग गर्न सकिन्छ।
fail2ban
वाlogwatch
प्रयोग गरेर, अनधिकृत पहुँचलाई रीयलटाइममा निगरानी गर्ने विधि सिक्नुहोस्।
सारांश
यो लेख अन्तिमसम्म पढ्नुभएकोमा धन्यवाद! 🎉 Ubuntu मा SSH लाई उपयुक्त रूपमा सेटिङ गरेर, रिमोट व्यवस्थापनको दक्षता र सुरक्षालाई ठूलो मात्रामा बढाउन सकिन्छ। «SSH प्रयोग गरेका सुविधाजनक प्रगत प्रविधिहरू» वा «सर्भर सुरक्षाको थप मजबुत» आदि, गहिरो विषयहरूमा पनि, भविष्यको सिकाइमा कृपया उपयोग गर्नुहोस्! त्यसपछि, आरामदायी SSH जीवनको लागि! 🖥️🔐सम्बन्धित लेखहरू
सम्बन्धित
1. परिचय Ubuntu मा SSH सेटअप गर्नु रिमोट सर्भरको व्यवस्थापनका लागि अत्यन्त महत्वपूर्ण छ। SSH (Secure Shell) ले सुरक्षित[…]