स्क्रिप्ट के माध्यम से उपयोगकर्ता और SSH कुंजी बनाएँ


0

मैं एक ऐसी स्क्रिप्ट पर काम कर रहा हूँ जो उपयोगकर्ता बनाये और उस उपयोगकर्ता के लिए एक कुंजी जोड़े ताकि वह उस कुंजी को अपने उपयोगकर्ता नाम के साथ SSH में मेरे VM में उपयोग कर सके

पूर्व। उपयोगकर्ता = जॉन

useradd -m john &&
cd ~/.ssh/ && 
rm -rf tmp_rsa* &&
ssh-keygen -t rsa -b 4096 -C "john@email.com" -N '' -f john_rsa &&
echo "#tmp_rsa" >> authorized_keys &&
cat john_rsa.pub >> authorized_keys &&
cat authorized_keys &&
service ssh restart &&
echo ">>> Done"

क्या मैं चाहता हूं कि उपरोक्त स्क्रिप्ट सही है?

मैंने संयुक्त राष्ट्र से जुड़ने की कोशिश की: johnऔर कुंजी उत्पन्न हुई john_rsa

मुझे मिला

यहाँ छवि विवरण दर्ज करें


@Marosg और @ तक्कत को धन्यवाद

यहाँ मेरी अद्यतन स्क्रिप्ट है

adduser -m john &&
cd ~/.ssh/ && 
rm -rf tmp_rsa* &&
ssh-keygen -t rsa -b 4096 -C "john@email.com" -N '' -f john_rsa &&
echo "#tmp_rsa" >> ~john/.ssh/authorized_keys &&
cat john_rsa.pub >> ~john/.ssh/authorized_keys &&
cat authorized_keys &&
echo ">>> Done"

आदेश useraddजॉन के लिए एक होम डायरेक्टरी नहीं बनाएगा, लेकिन adduserयह होगा। देखें askubuntu.com/questions/139304/...
Takkat

@ तक्कत के बारे में क्या -m?
क्यो

@ तक्कत: आप मेरी अद्यतन स्क्रिप्ट के बारे में क्या सोचते हैं?
काय

-mउबंटू में कोई विकल्प नहीं है । होम डायरेक्टरी डिफ़ॉल्ट रूप से बनाई जाएगी /home/- उसके बाद ऐसा प्रतीत होता है कि आप उपयोगकर्ता के रूप में अपनी कुंजी बनाना चाहते हैं john
ताकत

तो यह सही करना चाहिए? adduser -m john
क्यो

जवाबों:


3

यहां कुछ चीजें गलत हैं:

  • आप उपयोगकर्ता जॉन बनाते हैं और फिर आप इस उपयोगकर्ता के साथ और कुछ नहीं करते हैं

  • आप अपने उपयोगकर्ता के लिए कुंजी जोड़ रहे हैं

  • दूरस्थ उपयोगकर्ता जिसे यहां लॉगिन करने की आवश्यकता है, उसे उस मशीन पर ssh कीपर से निजी कुंजी की आवश्यकता होती है जिससे वह कनेक्ट कर रहा है

  • चाबियाँ जोड़ने के बाद ssh सेवा को पुनरारंभ करने की कोई आवश्यकता नहीं है

आपको क्लाइंट की तरफ से क्या चाहिए

  • उपयोगकर्ता ssh keypair उत्पन्न करता है और आपको इस keypair की सार्वजनिक कुंजी प्रदान करता है ( ssh-keygen ...; cat id_rsa.pub)

आपको सर्वर साइड पर क्या चाहिए

  • उपयोगकर्ता जॉन जोड़ें

  • ~ john / .ssh / अधिकृत_keys ( echo id_rsa.pub_provided_by_remote_user >> ~john/.ssh/authorized_keys) द्वारा उपयोगकर्ता द्वारा प्रदान की गई सार्वजनिक कुंजी जोड़ें


मैं पूरी चीजें 1 स्क्रिप्ट में करना चाहता हूं, क्या आप मुझे जो भी मिला उसे समायोजित करने में मदद कर सकते हैं। आपके सुझाव के आधार पर मुझे जो मिला है उसे मैं अपडेट कर सकता हूं और अपनी पोस्ट को अपडेट कर सकता हूं। ठीक है न ?
क्यो

आप मेरी अद्यतन स्क्रिप्ट के बारे में क्या सोचते हैं?
काय

यदि आप और वह अन्य उपयोगकर्ता दो अलग-अलग इंसान हैं, तो एक लिपि में सुरक्षित रूप से ऐसा करना संभव नहीं है। १। उपयोगकर्ता जॉन अपनी मशीन पर कीपर बनाता है, निजी कुंजी है, जो गुप्त है और वह इसे अपनी मशीन पर रखता है। सार्वजनिक कुंजी है, जिसे वह आपको एक पाठ 2 के रूप में भेजता है। सर्वर पर आप उपयोगकर्ता जॉन बनाते हैं और फिर उस सार्वजनिक कुंजी को अपने जॉन / / ssh / प्राधिकृत_के ऊपर डालते हैं, cd ~/.ssh/जिसके ऊपर आप उपयोग करते हैं जिसका अर्थ है कि आप अपनी। Ssh निर्देशिका में काम कर रहे हैं, आप। ~ जॉन /। ssh
marosg

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