उबंटू का उपयोग कर होस्ट मशीन पर एक ssh सेवा शुरू करने में आपकी मदद करने के लिए सबसे अच्छा संसाधन OpenSSH सर्वर है । यह आपको SSH फ़ाइल स्थानांतरण प्रोटोकॉल (भी सुरक्षित फ़ाइल स्थानांतरण प्रोटोकॉल, या SFTP) का उपयोग करने के लिए एक ग्राहक मशीन से SSH से अधिक फ़ाइलों का उपयोग, स्थानांतरण, और प्रबंधन करने की अनुमति देगा।
समाधान का अवलोकन
- उबंटू पर आप
OpenSSH server
एक होस्ट मशीन पर सेटअप कर सकते हैं और एक उपयोगकर्ता तब ssh
क्लाइंट से होस्ट के सर्वर से कनेक्ट करने के लिए केवल उपयोगकर्ता नाम और पासवर्ड का उपयोग कर सकते हैं। हालाँकि, सार्वजनिक कुंजी प्रमाणीकरण की अनुशंसा की जाती है,
"सुनिश्चित करें कि एसएसएच सर्वर स्थापित करने से पहले आपके पास एक मजबूत पासवर्ड है (आप पासवर्ड को पूरी तरह से अक्षम करना चाहते हैं )"
- होस्ट पर बनाए गए प्रशासनिक उपयोगकर्ता खातों में sudo विशेषाधिकार होंगे, होस्ट पर बनाए गए मानक उपयोगकर्ता खाते नहीं होंगे।
होस्ट पर अपने OpenSSH सर्वर को स्थापित और कॉन्फ़िगर करें
होस्ट पर OpenSSH सर्वर स्थापित करने के लिए:
sudo apt-get install openssh-server
अपने होस्ट को एक स्टेटिक आईपी एड्रेस दें ताकि आप मज़बूती से इससे जुड़ सकें:
nm-connection-editor
अपने OpenSSH सर्वर को कॉन्फ़िगर करने के लिए , "सबसे पहले, अपने sshd_config फ़ाइल का बैकअप अपने होम डायरेक्टरी में कॉपी करके, या एक रीड-ओनली कॉपी इन / etc / ssh बनाकर करें:"
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults
sudo chmod a-w /etc/ssh/sshd_config.factory-defaults
"एक बार जब आप अपनी sshd_config
फाइल का बैकअप ले लेते हैं , तो आप किसी भी टेक्स्ट एडिटर के साथ बदलाव कर सकते हैं, उदाहरण के लिए:"
sudo -H gedit /etc/ssh/sshd_config
इन परिवर्तनों को प्रभावी करने के लिए आपको होस्ट पर अपनी ssh सेवा को फिर से शुरू करना होगा
sudo service ssh restart
निम्नलिखित सुरक्षा उपायों पर विचार करें
- अपने राउटर पर पोर्ट-फ़ॉरवर्डिंग को सक्षम न करें: जब बाहरी व्यक्ति आपके राउटर को आउटसाइडर को पोर्ट 22 से कनेक्ट करने के लिए कहता है, आदि, तो आपका राउटर तब तक अनुपालन करने में विफल रहता है जब तक कि आपने पोर्ट-फ़ॉरवर्डिंग सक्षम नहीं किया हो
- रूट लॉगिन अक्षम करें: टिप्पणी करें
PermitRootLogin without-password
; PermitRootLogin no
होस्ट में जोड़ें/etc/ssh/sshd_config
- गैर-मानक एसएसएच पोर्ट चुनें: टिप्पणी करें
Port 22
; Port <new-port-number>
होस्ट में जोड़ें/etc/ssh/sshd_config
- केवल स्थानीय कनेक्शन की अनुमति दें: जोड़ें
ListenAddress 192.168.0.10
- कुछ बंदरगाहों पर कुछ उपयोगकर्ताओं को अनुमति दें: होस्ट में जोड़ें
AllowUsers <username>@<IP_address_1> <username>@<IP_address_2>
याAllowUsers <username>@111.222.333.*
/etc/ssh/sshd_config
- केवल RSA कुंजी (पासवर्ड रहित) कनेक्शन की अनुमति दें:
~/.ssh/id_rsa.pub
प्रत्येक क्लाइंट की सामग्री को होस्ट की नई लाइन के रूप में जोड़ें ~/.ssh/authorized_keys
। फिर PasswordAuthentication no
Host's में जोड़ें/etc/ssh/sshd_config
- धीमी गति से हमलावरों के टूटने के प्रयास: मेजबान पर ufw (सीधी फ़ायरवॉल) का उपयोग करें आने वाले कनेक्शनों की दर को 10 / मिनट तक सीमित करने के लिए:
sudo apt-get install ufw && sudo ufw limit OpenSSH
- अधिक विचारों के लिए, SSH एक्सेस सिक्योर रखना देखें
यदि आपको लगता है कि आपको PasswordAuthentication
अपनी sshd_config
फ़ाइल में सक्षम करना होगा
वाक्यांश के साथ लाइन खोजें PasswordAuthentication
और इसे पढ़ें:
PasswordAuthentication yes
अपनी नई sshd_config
फ़ाइल सहेजें और फिर होस्ट की ssh
सेवा को पुनरारंभ करें :
sudo service ssh restart
यदि आपको इंटरनेट पर कहीं से भी पहुँच की आवश्यकता है, तो अपने OpenSSH सर्वर पर सीधे यातायात के लिए अपने स्थानीय राउटर पर सेटअप पोर्ट फ़ॉरवर्डिंग करें
नोट करें पोर्ट होस्ट की ssh
सेवा sshd_config
फ़ाइल में सुनती है और अपने पोर्ट को अपने ओपनएसएसएच सर्वर के आईपी पते पर लक्षित टीसीपी / यूडीपी ट्रैफ़िक को अग्रेषित करने के लिए सेटअप करती है।
होस्ट से कनेक्ट करें और कमांड-लाइन या टर्मिनल के माध्यम से लॉगिन करें
<username>
होस्ट के रूप में SFTP शेल टर्मिनल खोलने के लिए क्लाइंट पर टर्मिनल खोलें और 123.123.1.23
होस्ट के आईपी पते के साथ निम्नलिखित कमांड दर्ज करें :
sftp <username>@123.123.1.23
यदि आपने पोर्ट नंबर होस्ट का ओपनएसएसएच सर्वर बदल दिया है, तो यह करें:
sftp -P <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
<username>
होस्ट के रूप में SSH शेल टर्मिनल खोलने के लिए क्लाइंट पर एक टर्मिनल खोलें और 123.123.1.23
होस्ट के आईपी पते के साथ निम्नलिखित कमांड दर्ज करें :
ssh <username>@123.123.1.23
यदि आपने पोर्ट नंबर होस्ट का ओपनएसएसएच सर्वर बदल दिया है, तो यह करें:
ssh -p <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
फ़ाइल ट्रांसफ़र को सक्षम करने के लिए अधिक दृश्य SFTP पहुँच के लिए होस्ट और GUI फ़ाइल प्रबंधक (जैसे, Nautilus) के माध्यम से लॉगिन करें
- क्लाइंट पर Nautilus खोलें
- फ़ाइल> सर्वर से कनेक्ट करें का चयन करें
- प्रकार:
SSH
- सर्वर: होस्ट का आईपी पता दर्ज करें
- पोर्ट: होस्ट की
sshd_config
फ़ाइल में निर्दिष्ट पोर्ट संख्या
- उपयोगकर्ता नाम: उपयोगकर्ता नाम
- पासवर्ड: पासवर्ड
14.04 में:
- क्लाइंट पर Nautilus खोलें
- सर्वर से कनेक्ट करें
- प्रकार: `ssh @ 123.123.1.23:
अपने होम फोल्डर के बाहर सीमित फ़ाइल अनुमतियों के साथ होस्ट पर मानक उपयोगकर्ता खाते बनाएँ
होस्ट पर उचित फ़ाइल अनुमति की गारंटी है कि प्रत्येक मानक उपयोगकर्ता (sudo विशेषाधिकार के बिना) जो आप होस्ट पर बनाते हैं, उनकी /home/new_user
निर्देशिका के मालिक होंगे, लेकिन बाकी निर्देशिका संरचना के साथ सीमित अनुमतियाँ हैं।
- सीमित अनुमतियों का मतलब यह नहीं है कि वे फ़ाइल नाम और निर्देशिका संरचना को देखने में असमर्थ हैं।
आशा है कि उपयोगी है!