आपका गाइड SSH का उपयोग करने के लिए



समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें

SSH एक नेटवर्क प्रोटोकॉल है जो कंसोल में काम करता है। सबसे अधिक इस्तेमाल किया जाने वाला SSH क्लाइंट PuTTy है। नीचे दी गई छवि एक स्थापित एसएसएच सत्र दिखाती है। इसका उपयोग करना आसान है, और त्वरित है। अधिकांश आईटी प्रोफेशनल पूरी तरह से सुरक्षा के कारण एसएसएच के माध्यम से पूरे नेटवर्क का प्रबंधन करते हैं, और सर्वर पर प्रशासनिक और प्रबंधन कार्यों को करने के लिए त्वरित / आसान पहुंच। SSH में पूरा सत्र एन्क्रिप्ट किया गया है - SSH के लिए प्रमुख प्रोटोकॉल SSH1 / SSH-1 और SSH2 / SSH-2 हैं। SSH-2 बाद वाला है, अधिक सुरक्षित है तो SSH-1 है। लिनक्स ओएस में कंसोल के उपयोग के लिए टर्मिनल नामक एक उपयोगिता है और एक विंडोज़ मशीन के लिए एक एसएसएच क्लाइंट (जैसे। PuTTy) की आवश्यकता होती है।



पोटीन



SSH का उपयोग कर एक दूरस्थ होस्ट तक पहुँचना



SSH का उपयोग करके एक दूरस्थ होस्ट / मशीन तक पहुँचने के लिए, आपको निम्नलिखित कार्य करने होंगे:

सेवा) PuTTy (फ्री SSH क्लाइंट)
ख) एसएसएच सर्वर उपयोगकर्ता नाम
ग) एसएसएच सर्वर पासवर्ड
d) SSH पोर्ट जो आमतौर पर 22 है लेकिन चूंकि 22 डिफ़ॉल्ट है, इसलिए इस पोर्ट पर हमलों से बचने के लिए इसे एक अलग पोर्ट में बदलना चाहिए।

लिनक्स मशीन में, उपयोगकर्ता नाम जड़ डिफ़ॉल्ट रूप से व्यवस्थापक है और इसमें सभी प्रशासनिक अधिकार हैं।

टर्मिनल में, निम्न कमांड सर्वर से कनेक्शन शुरू करेगा।

ssh रूट@192.168.1.1
जहां, रूट उपयोगकर्ता नाम है, और 192.168.1.1 होस्ट पता है

यह टर्मिनल कैसा दिखता है:

टर्मिनल

के बाद आपकी कमांड टाइप की जाएगी $ प्रतीक । टर्मिनल / पोटीन में किसी भी कमांड की मदद के लिए, सिंटैक्स का उपयोग करें:

आदमी ssh
आदमी की आज्ञा

आदमी, उसके बाद कोई भी कमांड ऑन-स्क्रीन कमांड गाइडेंस लौटाएगा

तो अब मैं क्या करने जा रहा हूँ, SSH है VMTare पर चलने वाले मेरे डेबियन OS में PuTTy का उपयोग।

लेकिन ऐसा करने से पहले, मुझे अपने VM VM में लॉग इन करके SSH को सक्षम करने की आवश्यकता है - यदि आपने अभी-अभी एक होस्टिंग कंपनी से सर्वर खरीदा है, तो आप उनसे अनुरोध कर सकते हैं कि वे आपके लिए SSH को सक्षम करें।

Ssh को सक्षम करने के लिए, का उपयोग करें
sudo /etc/init.d/ssh पुनरारंभ करें

चूंकि मैं उबंटू का उपयोग कर रहा हूं, और ssh स्थापित नहीं था, इसलिए
Ssh को इन कमांड्स को इनस्टॉल करने के लिए
sudo apt-get install ओपनश-क्लाइंट
sudo apt-get install ओपनश-सर्वर

और, यहाँ मुझे क्या मिला है, PuTTy के माध्यम से SSH में लॉग इन करें:

ssh

अब यह वही है जो SSH को सेटअप करने के लिए लेता है और PuTTy के माध्यम से एक सत्र की स्थापना करता है - नीचे, मैं कुछ बुनियादी उन्नत विशेषताओं को संबोधित करूंगा जो आपको धीरे-धीरे पूरे परिदृश्य का एक बड़ा दृश्य देना शुरू कर देंगे।

डिफ़ॉल्ट ssh कॉन्फ़िगरेशन फ़ाइल यहां स्थित है: / Etc / ssh / sshd_config
कॉन्फ़िगरेशन फ़ाइल का उपयोग देखने के लिए: बिल्ली / आदि / ssh / sshd_config
कॉन्फ़िगरेशन फ़ाइल का उपयोग संपादित करने के लिए: vi / etc / ssh / sshd_config या नैनो / आदि / ssh / sshd_config

किसी भी फ़ाइल को संपादित करने के बाद, उपयोग करें CTRL + X और इसे (नैनो संपादक) से बचाने और बाहर निकालने के लिए Y कुंजी को हिट करें

SSH पोर्ट को कॉन्फ़िगरेशन फ़ाइल से बदला जा सकता है, डिफ़ॉल्ट पोर्ट 22 है। मूल कमांड, बिल्ली, vi और नैनो अन्य सामान के लिए भी काम करेगा। विशेष रूप से आदेशों के बारे में अधिक जानने के लिए, Google खोज का उपयोग करें।

यदि आप किसी भी कॉन्फ़िगरेशन फ़ाइल में कोई परिवर्तन करते हैं, तो उस सेवा के लिए पुनरारंभ आवश्यक है। आगे बढ़ते हुए, मान लें कि अब हम अपने पोर्ट को बदलना चाहते हैं, इसलिए हम जो करने जा रहे हैं, वह sshd_config फ़ाइल को संपादित करता है, और मैं इसका उपयोग करूंगा

नैनो / आदि / ssh / sshd_config

पोर्ट-ssh

आपको व्यवस्थापक या उपयोग के रूप में लॉग इन होना चाहिए सुडो नैनो / आदि / ssh / sshd_config फ़ाइल संपादित करने के लिए। इसे संपादित करने के बाद, ssh सेवा को फिर से शुरू करें, sudo /etc/init.d/ssh पुनरारंभ करें

यदि आप एक पोर्ट बदल रहे हैं, तो अपने IPTABLES में, यदि आप डिफ़ॉल्ट फ़ायरवॉल का उपयोग कर रहे हैं, तो इसकी अनुमति देना सुनिश्चित करें।

iptables -I INPUT -p tcp -dport 5000 -j ACCEPT
/etc/rc.d/init.d/iptables सहेजें

यदि पोर्ट खुला है, तो पुष्टि करने के लिए iptables को क्वेरी करें
iptables -nL | ग्रेप 5000

कॉन्फ़िगरेशन फ़ाइल में कई निर्देश हैं, जैसा कि पहले चर्चा की गई थी, एसएसएच (1 ​​और 2) के लिए दो प्रोटोकॉल हैं। यदि यह 1 पर सेट है, तो इसे 2 में बदलें।

नीचे मेरी कॉन्फ़िगरेशन फ़ाइल का एक सा है:

# पैकेज उत्पन्न कॉन्फ़िगरेशन फ़ाइल
# विवरण के लिए sshd_config (5) मैनपेज देखें

# हम किस पोर्ट, आईपी और प्रोटोकॉल को सुनते हैं
पोर्ट 5000 पोर्ट के साथ नंबर 22 को बदल दिया
# इन विकल्पों का उपयोग यह प्रतिबंधित करने के लिए करें कि कौन सा इंटरफेस / प्रोटोकॉल sshd को बाध्य करेगा
# लिस्टेनड्रेस ::
# लिस्टेनड्रेस 0.0.0.0
मसविदा बनाना 2 ने प्रोटोकॉल 1 को 2 से बदल दिया

परिवर्तन करने के बाद सेवा को पुनः आरंभ करना न भूलें

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

# प्रमाणीकरण:
LoginGraceTime 120
PermitRootLogin नहीं
स्ट्रिक्टमोड्स हाँ

एक सुपर कूल फीचर, है मुख्य प्रमाणीकरण (PubkeyAuthentication) - यह सुविधा आपको केवल कुंजी आधारित प्रमाणीकरण सेटअप करने की अनुमति देती है, जैसा कि हम अमेज़न ईसी 3 सर्वर के साथ देखते हैं। आप केवल अपनी निजी कुंजी का उपयोग करके सर्वर तक पहुंच सकते हैं, यह अत्यधिक सुरक्षित है। इसे काम करने के लिए, आपको एक कुंजी जोड़ी उत्पन्न करनी होगी और उस निजी कुंजी को अपनी रिमोट मशीन से जोड़ना होगा, और सर्वर में सार्वजनिक कुंजी जोड़ना होगा, ताकि उस कुंजी का उपयोग करके इसे एक्सेस किया जा सके।

पब्कुअथेंटिकेशन हाँ
AuthorizedKeysFile। Ssh / अधिकृत_की
RSAAuthentication हाँ
PasswordAuthentication सं

यह किसी भी पासवर्ड से इनकार करेगा, और केवल उपयोगकर्ताओं को एक कुंजी के साथ उपयोग करने की अनुमति देगा।

एक पेशेवर नेटवर्क में, आप आमतौर पर अपने उपयोगकर्ताओं को सूचित करते हैं कि उन्हें क्या करने की अनुमति है और क्या नहीं, और कोई अन्य आवश्यक जानकारी

बैनर के लिए संपादित करने के लिए कॉन्फ़िगरेशन फ़ाइल है: / Etc / motd
फ़ाइल को संपादक में खोलने के लिए, टाइप करें: नैनो / आदि / motd या सुडोल / आदि / प्रेरक

फ़ाइल को संपादित करें, जैसे आप नोटपैड में करेंगे।

आप बैनर को फ़ाइल में भी रख सकते हैं और इसे / etc / motd में संदर्भित कर सकते हैं

उदाहरण के लिए: नैनो बैनर एक बैनर। txt फ़ाइल बनाएगा और तुरंत संपादक खोल देगा।

बैनर, और इसे बचाने के लिए ctrl + x / y संपादित करें। फिर, का उपयोग करते हुए motd फ़ाइल में इसे देखें

बैनर /home/users/appualscom/banner.txt या जो भी हो, फ़ाइल पथ है।

बैनर की तरह, आप लॉगिन प्रॉम्प्ट से पहले एक संदेश भी जोड़ सकते हैं, संपादन के लिए फ़ाइल है / Etc / मुद्दा

एसएसएच टनलिंग

SSH टनलिंग आपको अपने स्थानीय मशीन से रिमोट मशीन तक यातायात को सुरंग करने की अनुमति देता है। यह SSH प्रोटोकॉल के माध्यम से बनाया गया है और एन्क्रिप्ट किया गया है। पर लेख की जाँच करें एसएसएच टनलिंग

एसएसएच टनल पर ग्राफिकल सत्र

निम्नलिखित लाइन को अनइंस्टॉल करके ग्राफिकल / गुई सत्र को सक्षम करें
X11Forwarding हाँ

क्लाइंट के अंत में कमांड होगी:
ssh -X root@10.10.10.111

आप साधारण आदेशों का उपयोग करके फ़ायरफ़ॉक्स आदि जैसे प्रोग्राम चला सकते हैं:
फ़ायर्फ़ॉक्स

यदि आपको कोई प्रदर्शन त्रुटि मिलती है, तो पता सेट करें:
निर्यात प्रदर्शन = IPaddressofmachine: 0.0

टीसीपी रैपर्स

यदि आप चयनित मेजबानों को अनुमति देना चाहते हैं और कुछ को अस्वीकार करना चाहते हैं, तो ये वे फाइलें हैं जिन्हें आपको संपादित करने की आवश्यकता है

1। /etc/hosts.allow
2। /etc/hosts.deny

कुछ मेजबानों को अनुमति देने के लिए

sshd: 10.10.10.111

अपने सर्वर में sshing से सभी को ब्लॉक करने के लिए, /etc/hosts.deny में निम्न पंक्ति जोड़ें
sshd: सभी

एससीपी - सुरक्षित प्रतिलिपि

SCP - सिक्योर कॉपी एक फाइल ट्रांसफर यूटिलिटी है। आपको ssh पर फाइलों को कॉपी / ट्रांसफर करने के लिए निम्न कमांड का उपयोग करना होगा।

नीचे कमांड 10.10.10.111 को myfile को / home / user2 पर कॉपी करेगा
scp / home / user / myfile root@10.10.10.111: / home / user2
एससीपी स्रोत गंतव्य सिंटैक्स

किसी फ़ोल्डर की प्रतिलिपि बनाने के लिए
scp –r / home / user / myfolder roor@10.10.10.111: / home / user2

एक दूरस्थ मशीन पर फ़ाइलों के लिए खोज

एक दूरस्थ मशीन पर फ़ाइलों की खोज करना और अपने सिस्टम पर आउटपुट देखना बहुत आसान है। एक दूरस्थ मशीन पर फ़ाइलों को खोजने के लिए

ssh root@10.10.10.111 'ढूँढें / होम / उपयोगकर्ता -नाम। * .jpg ''

कमांड सभी * .jpg फाइलों के लिए / होम / उपयोगकर्ता निर्देशिका में खोज करेगा, आप इसके साथ खेल सकते हैं। खोज / -नाम पूरे / रूट निर्देशिका खोज करेगा।

SSH अतिरिक्त सुरक्षा

iptables आपको समय आधारित सीमाएं निर्धारित करने की अनुमति देता है। नीचे दिए गए आदेश उपयोगकर्ता को 120 सेकंड के लिए ब्लॉक कर देंगे यदि वे प्रमाणित करने में विफल रहते हैं। आप अवधि निर्दिष्ट करने के लिए कमांड में / दूसरे / घंटे / मिनट या / दिन पैरामीटर का उपयोग कर सकते हैं।

समय आधारित सीमाएँ
iptables-INPUT -p tcp -m state -syn –state NEW –dport 22 -m limit -limit 120 / second -limit-crack 1 -j ACCEPT

iptables-INPUT -p tcp -m state –syn –state NEW –dport 5000 -j DROP

5000 पोर्ट है, इसे अपनी सेटिंग्स के अनुसार बदल दें

किसी विशिष्ट IP से प्रमाणीकरण की अनुमति देना
iptables-INPUT -p tcp -m state -state NEW –source 10.10.10.111 -dport 22 -j ACCEPT

अन्य उपयोगी आदेश

SSH पर एक स्क्रीन संलग्न करें
ssh -t root@10.10.10.111 स्क्रीन -r
SSH स्थानांतरण गति जाँच
हाँ | pv | ssh $root@10.10.10.111 'बिल्ली> / देव / अशक्त'

टैग ssh एसएसएच टनलिंग 4 मिनट पढ़ा