केवल एक आईपी पते से रूट लॉगिन की अनुमति दें


14

मेरे पास सेंटोस 5 है।

क्या कोई तरीका है कि मैं अपने वीपीएस सर्वर में रूट उपयोगकर्ता के साथ विशेष रूप से आईपी पते से लॉग इन कर सकता हूं।

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

या ऐसा कोई तरीका है कि केवल रूट ही शेल में प्रवेश करने के लिए कुंजियों का उपयोग कर सकता है, लेकिन दूसरों के लिए इसका सामान्य पासवर्ड

centos  root  ssh 

जवाबों:


15

मैच कीवर्ड का उपयोग करने का एक बेहतर तरीका है:

Match Host myworkstation
        PermitRootLogin yes

या

Match Address 192.168.1.100
        PermitRootLogin yes

इस तरह, आप PermitRootLogin सेट को 'नहीं' पर छोड़ सकते हैं, लेकिन आप अभी भी अपने वर्कस्टेशन से रूट के रूप में लॉग इन कर सकते हैं।

यह भी इस्तेमाल किया जा सकता है, उदाहरण के लिए, रूट को दो होस्ट के बीच rsync डेटा की अनुमति देने के लिए।


आपका rsync उदाहरण वास्तव में उपयोग-मामला है, जिसके लिए मैंने इस प्रश्न को हल किया। धन्यवाद! ;)
जन

ज्ञात हो कि यह केवल स्रोत आईपी पते के रिवर्स डीएनएस का उपयोग करके काम करता है। (कम से कम मेरे लिए यह एकमात्र तरीका था)
मावरोयोन

9

यह आमतौर पर एक गैर-विशेषाधिकार प्राप्त उपयोगकर्ता के रूप में लॉग इन करने के लिए पहले एक बेहतर अभ्यास है, फिर रूट विशेषाधिकार प्राप्त करने के लिए 'सु -' या 'सुडो' का उपयोग करें, लेकिन ...

आप हमेशा अपनी कुंजी में ~ रूट / .ssh / अधिकृत_की पर आईपी प्रतिबंध लगा सकते हैं:

from="192.168.1.100" ssh-rsa AAAAh9uif...auwehuf== yourkey@yourhost.com

यह केवल 192.168.1.100 से yourkey@yourhost.com कुंजी का उपयोग करके ssh को अनुमति देगा।


सहमत, हालांकि यह sftp, rsync, sshfs जैसी चीजों के लिए करने के लिए अधिक जटिल है ...
mveroone

3

उपयोग:

PermitRootLogin बिना पासवर्ड के

In / etc / ssh / sshd_config। रूट को छोड़कर प्रत्येक उपयोगकर्ता को पासवर्ड लॉगिन का उपयोग करने की अनुमति दी जाएगी। लॉगिन करने के लिए रूट को कुंजियों का उपयोग करने की आवश्यकता होती है।


क्या यह ढलान काम करेगा ?? यू ने यह कोशिश की

मैं उस सर्वर का उपयोग करता हूं जिसे मैं बनाए रखता हूं। यह रूट ब्रूटफोर्स / तानाशाह हमलों को रोकता है। unixhelp.ed.ac.uk/CGI/man-cgi?sshd_config+5
rubiojr

git pullहालांकि यह टूटता हुआ प्रतीत होता है : / etc / ssh / ssh_config: लाइन 68: खराब कॉन्फ़िगरेशन विकल्प: permrootlogin
जियोसाइसिक

इसके अलावा PermitRootLogin में दिखाई नहीं देता हैman ssh_config
जियोसाइडिक

साथ ही आसानी से ओवरराइड किया जाता हैssh -o PreferredAuthentications=password
जियोइडेसिक

2

संपादित करें sshd_config(आमतौर पर /etc/ssh), और निम्नलिखित निर्देशों को जोड़ें या बदलें

  PermitRootLogin yes
  AllowUsers root@thehosttoallow

फिर डेमॉन को पुनरारंभ करें

  service ssh restart

मेरा मानना ​​है कि, यदि ओपी उपयोग करना चाहता था AllowUsers, तो उसे उन सभी उपयोगकर्ताओं को निर्दिष्ट करने की आवश्यकता होगी जिन्हें वह एक्सेस करना चाहता है। आपका उदाहरण केवल रूट को ssh के माध्यम से प्रमाणित करने की अनुमति देगा।
EEAA

1
हां, यह उद्देश्य पर है। किसी भी उपयोगकर्ता को अनुमति देने के लिए, *@thehosttoallowवास्तव में किसी भी उपयोगकर्ता को अंदर जाने दें।
रिंग

साथ ही आसानी से ओवरराइड किया जाता हैssh -o PreferredAuthentications=password
जियोइडेसिक

0

पहला, आप उपयोगकर्ताओं को मुख्य कुंजी का उपयोग करने से क्यों रोकना चाहेंगे? वह मेरे किसी मतलब का नहीं है।

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


क्या होगा अगर मैं रूट लॉगिन को अक्षम करता हूं और किसी भी उपयोगकर्ता को कुछ मुख्य कॉन्फ़िगरेशन फ़ाइल तक पहुंच नहीं है। फिर मैं लॉक कर रहा हूं क्योंकि मैं रूट

1
जब आप ssh के माध्यम से रूट लॉगिन को अक्षम करते हैं, तो रूट कंसोल के माध्यम से साइन इन करने में सक्षम होगा। इसके अलावा, आपके पास हमेशा sudo के माध्यम से एक सामान्य उपयोगकर्ता रूट-एस्के परमिशन देने का विकल्प होता है। यह sftp के लिए काम नहीं करेगा, लेकिन अगर आपको चीजों को ठीक करने की आवश्यकता होती है, तो विफलता के रूप में, यह ठीक काम करेगा और अनुमतियाँ प्रदान करने का पसंदीदा तरीका है।
EEAA

1
@ यूरिक rootएक अद्वितीय होस्ट से अनुमति देना असुरक्षित नहीं है। कुछ साल पहले rootतक पहुँच के खिलाफ एक प्रवृत्ति थी telnet(बगल sshमें आम था), लेकिन केवल एक मेजबान के rootमाध्यम sshसे अनुमति देने से वह असुरक्षित नहीं दिखता।
रिंग।

निश्चित रूप से, यह शायद "सुरक्षित" हो सकता है, लेकिन मैं अभी भी तर्क दूंगा कि यह एक खराब विचार है। मैं इसे मुख्य रूप से इस तथ्य के कारण कहता हूं कि, जब लोगों को रूट एक्सेस प्राप्त करने का एक आसान तरीका दिया जाता है, तो वे इसका उपयोग करेंगे, सुरक्षित उपयोग करने के बजाय, एक्सेस (sudo) प्राप्त करने का अधिक उचित तरीका।
EEAA

2
लेखक के प्रश्न पर विचार करते हुए, कोई यह मान सकता है कि वह rootउपयोगकर्ता के माध्यम से प्रशासनिक कार्य करना चाहता है । rootइस मामले में केवल एक मेजबान से सीधे पहुंच की अनुमति देना एक उचित विकल्प है।
रिंग :
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.