पासवर्ड के बिना, लेकिन SSH और सार्वजनिक कुंजी के साथ एक उपयोगकर्ता जोड़ें


30

मैं Red Hat Linux के लिए एक उपयोगकर्ता जोड़ना चाहता हूँ जो लॉग इन करने के लिए पासवर्ड का उपयोग नहीं करेगा, बल्कि ssh के लिए एक सार्वजनिक कुंजी का उपयोग करेगा। यह कमांड लाइन पर होगा।


useradd --password- अक्षम और adduser --password अक्षम। मैंने दोनों के विकल्पों पर ध्यान दिया है और पासवर्ड को विकल्प के रूप में अक्षम नहीं देखा है।
user119776

क्या आप जानते हैं कि सामान्य रूप से ssh कुंजी लॉगिन कैसे सेट किया जाता है? मुझे लगता है कि खाते को केवल लॉक करने की आवश्यकता नहीं है, जो यह अनुमान लगाएगा कि कोई पासवर्ड सक्रिय है। यह कुछ लंबा पासवर्ड हो सकता है जो वास्तव में कोई नहीं जानता है।
मीका योडर

मेरे पास कुंजी है और मुझे पता है कि मुझे उपयोगकर्ता की निर्देशिका के तहत फ़ोल्डर बनाने और वहां सार्वजनिक भाग पेस्ट करने की आवश्यकता है। मैं उस तरह से कोशिश कर सकता हूं, लेकिन मैंने सोचा कि मुझे उपयोगकर्ता पासवर्ड को भी अक्षम करना होगा।
user119776

उपयोगकर्ता को जोड़ने का तरीका दिखाने के बजाय एक और पोस्ट बनाने के बजाय, मैं लैम्बर्ट से सहमत हूं। आपको इस कार्य के उस भाग पर विशेष रूप से ध्यान देने की आवश्यकता है जिससे आप परेशान हैं। यदि आप नहीं जानते कि किसी उपयोगकर्ता को कैसे जोड़ना है, तो आपको छोटा शुरू करना चाहिए और अपने तरीके से काम करना चाहिए। मेरा मानना ​​है कि आपको केवल उपयोगकर्ता बनाने की आवश्यकता है, कोई पासवर्ड सेट न करें, और उनकी कुंजी /home/username/.ssh/authorized_keys में डालें।
बाजीगर

जवाबों:


34

एक उपयोगकर्ता बनाने के साथ शुरू करें:

useradd -m -d /home/username -s /bin/bash username

ग्राहक से एक प्रमुख जोड़ी बनाएँ, जिसका आप उपयोग करेंगे ssh:

ssh-keygen -t dsa

/home/username/.ssh/id_dsa.pubRedHat होस्ट में सार्वजनिक कुंजी की प्रतिलिपि बनाएँ/home/username/.ssh/authorized_keys

RedHat होस्ट पर फ़ाइलों पर सही अनुमतियाँ सेट करें:

chown -R username:username /home/username/.ssh
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys

सुनिश्चित करें कि RedHat होस्ट पर सार्वजनिक कुंजी प्रमाणीकरण सक्षम है:

grep  PubkeyAuthentication /etc/ssh/sshd_config
#should output:
PubkeyAuthentication yes

यदि नहीं, तो उस निर्देश को हां में बदलें और sshdRedHat होस्ट पर सेवा को पुनरारंभ करें ।

ग्राहक से एक sshकनेक्शन शुरू :

ssh username@redhathost

यह स्वचालित रूप से कुंजी की तलाश id_dsaमें होना चाहिए ~/.ssh/। आप एक पहचान फ़ाइल का उपयोग करके भी निर्दिष्ट कर सकते हैं:

ssh -i ~/.ssh/id_dsa username@redhathost

3
दरअसल मैं पासवर्ड लॉक के बारे में नहीं भूलता था। चूँकि मैंने बस इसे नए उपयोगकर्ता के पासवर्ड को सेट नहीं किया था, इसलिए यह स्वचालित रूप से लॉक है।
लैम्बर्ट

3
DSA के बजाय RSA का उपयोग करें
sg

आपको एहसास है कि "ssh-keygen -t dsa" कमांड वर्तमान उपयोगकर्ता के लिए चाबियाँ बनाएगा, यह आपकी खुद की चाबियाँ बदल सकता है
यारून 25:18 को

11

Ubuntu पर आप उपयोगकर्ता को इसके साथ जोड़ सकते हैं:

adduser --disabled-password <username>

फिर .ssh/authorized_keysउनकी सार्वजनिक कुंजी के साथ उनके घर निर्देशिका में फ़ाइल बनाएँ ।


7

आप उपयोग कर सकते हैं:

usermod --lock <username>

मैन पेज से:

उपयोगकर्ता का पासवर्ड लॉक करें। यह एक 'डालता है!' एन्क्रिप्टेड पासवर्ड के सामने, प्रभावी रूप से पासवर्ड को अक्षम करना। आप -p या -U के साथ इस विकल्प का उपयोग नहीं कर सकते। नोट: यदि आप खाते को लॉक करना चाहते हैं (न केवल पासवर्ड के साथ पहुंच), तो आपको EXPIRE_DATE को 1 पर भी सेट करना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.