सवाल एसएसबी कुंजी को दूसरी मशीन पर कॉपी करने का सबसे आसान तरीका?


मैं घर पर आलसी हूं और अपने घर मशीनों के लिए पासवर्ड प्रमाणीकरण का उपयोग करता हूं। मैं कुंजी आधारित प्रमाणीकरण में जाने के लिए तैयार हूं। वेब पर कई विकल्प हैं कि यह कैसे करें, जिसमें कैटिंग शामिल है, फिर कुंजी को दबाकर, सीधे कुंजी को स्कैन करना आदि।

मैं एक कुंजी की प्रतिलिपि बनाने का सबसे आसान और अनुशंसित तरीका ढूंढ रहा हूं, उम्मीद है कि उबंटू एसएसएच पैकेज में कहीं सुविधा सुविधा है?

मुझे पहले से ही पता है पासवर्ड लॉग इन कैसे बंद करें


296
2017-09-27 20:24


मूल


askubuntu.com/questions/307881/... - Vineet


जवाब:


ssh-copy-id आदेश (में openssh-ग्राहक पैकेज और डिफ़ॉल्ट रूप से स्थापित) वास्तव में यह करता है:

ssh-copy-id user@hostname.example.com

आपकी डिफ़ॉल्ट पहचान की सार्वजनिक कुंजी की प्रतिलिपि बनाता है (उपयोग करें -i identity_file अन्य पहचान के लिए) दूरस्थ मेजबान के लिए।

डिफ़ॉल्ट पहचान आपकी "मानक" एसएसएच कुंजी है। इसमें आपके दो फाइलें (सार्वजनिक और निजी कुंजी) शामिल हैं ~/.ssh निर्देशिका, आमतौर पर नामित identity, id_rsa या id_dsa (और साथ ही साथ .pub), कुंजी के प्रकार के आधार पर। यदि आपने एक से अधिक एसएसएच कुंजी नहीं बनाई है, तो आपको पहचान निर्दिष्ट करने के बारे में चिंता करने की ज़रूरत नहीं है, एसएसएच-कॉपी-आईडी बस इसे स्वचालित रूप से उठाएगी।

यदि आपके पास कोई पहचान नहीं है, तो आप टूल के साथ एक उत्पन्न कर सकते हैं ssh-keygen

इसके अतिरिक्त, यदि सर्वर डिफ़ॉल्ट पोर्ट से अलग पोर्ट का उपयोग करता है (22) आपको इस तरह उद्धरण चिह्नों का उपयोग करना चाहिए (स्रोत):

ssh-copy-id "user@hostname.example.com -p <port-number>"

408
2017-09-27 21:01



डिफ़ॉल्ट पहचान क्या है? - Oxwivi
@Oxwivi: डिफ़ॉल्ट पहचान आपकी "मानक" एसएसएच कुंजी है। इसमें आपके दो फाइलें (सार्वजनिक और निजी कुंजी) शामिल हैं ~/.ssh निर्देशिका, आमतौर पर 'पहचान' नाम दिया, id_rsa` या id_dsa (और साथ ही साथ .pub), कुंजी के प्रकार के आधार पर। यदि आपने एक से अधिक एसएसएच कुंजी नहीं बनाई है, तो आपको फ़ाइल निर्दिष्ट करने की चिंता करने की आवश्यकता नहीं है, ssh-copy-id बस इसे स्वचालित रूप से उठाएगा। - Marcel Stimberg
विभिन्न बंदरगाहों के लिए इसका उपयोग करें: ssh-copy-id "user@host -p 6842" - jibon57
क्या होगा यदि आप जिस रिमोट सर्वर की प्रतिलिपि बना रहे हैं, वह पासवर्ड संकेतों की अनुमति नहीं देता है और मूल रूप से एसएसएच एक्सेस के लिए सहेजा जाता है? - Cyle
मैक पर आप कर सकते हैं brew install ssh-copy-id और उसके बाद आदेश चलाएँ। - Avishai


मुझे मार्सेल से जवाब पसंद है। मुझे यह आदेश नहीं पता था। मैं हमेशा जो कुछ मिला था उसका उपयोग कर रहा हूं सूर्य वेबसाइट:

cat ~/.ssh/id_rsa.pub | ssh <user>@<hostname> 'cat >> .ssh/authorized_keys && echo "Key copied"'

मैंने इसे अभी भी पोस्ट करना सोचा था, क्योंकि यह एक अच्छा उदाहरण है कि इसमें क्या हासिल किया जा सकता है खोल कोड की शक्ति के साथ ssh। लेकिन का उपयोग कर ssh-copy-id यह सही तरीके से करने के लिए निश्चित रूप से एक सुरक्षित तरीका है!

ध्यान दें कि अगर फ़ोल्डर .ssh पहले से मौजूद नहीं है, उपरोक्त आदेश विफल हो जाएगा। इसके अतिरिक्त, न्यूनतम संभव अनुमति सेट करने के लिए फ़ाइल बनाते समय यह बेहतर हो सकता है (मूल रूप से केवल स्वामी के लिए रीड-राइट)। यहां एक और उन्नत आदेश दिया गया है:

cat ~/.ssh/id_rsa.pub | ssh <user>@<hostname> 'umask 0077; mkdir -p .ssh; cat >> .ssh/authorized_keys && echo "Key copied"'

113
2017-10-11 22:26



यह सटीक आदेश भी मैक से भी काम करते हैं - Mihai P.
इसे किसी भी यूनिक्स के तहत अधिकांश खोल के साथ काम करना चाहिए। मैंने फ़ोल्डर के मामले में एक अद्यतन कमांड के साथ पोस्ट को अद्यतन किया है .ssh रिमोट साइड पर मौजूद नहीं है। - Huygens
cat आवश्यक नहीं है - एक सामान्य इनपुट पुनर्निर्देशन पर्याप्त है, उदा। < ~/.ssh/id_rsa.pub | ssh ... - maxschlepzig
@ ह्यूजेन्स धन्यवाद। इसे याद रखने के लिए और अधिक उपयोगी, क्योंकि आपको कुछ भी इंस्टॉल करने की आवश्यकता नहीं है और यह विदेशी आदेशों को निष्पादित करने के लिए भी अच्छा हो सकता है उदा। जैसा कि आपने अपने उन्नत उदाहरण में प्रदर्शित किया है, सर्वर-साइड अनुमतियों को बदलना। - Jonathan Komar
मैं इस तरह से बहुत पसंद करता हूं क्योंकि यह आपको वर्बोज़ एसएसएच का उपयोग करने देता है जो यह समझने में सहायक होता है कि चीज़ें क्यों टूटी हुई हैं। sshcopyid बस जम गया और कभी काम नहीं किया, यह पूरी तरह से चला गया। - Sirens


ग्राफिकल विधि

  1. खुला अनुप्रयोगों ▸ पासवर्ड और कुंजी ▸ मेरी व्यक्तिगत कुंजी
  2. अपनी कुंजी का चयन करें और फिर क्लिक करें रिमोट ▸ सुरक्षित शेल के लिए कुंजी कॉन्फ़िगर करें

Set Up Computer for SSH Connection


25
2017-09-27 20:32



मेरे मेनू में मेरे पास "पासवर्ड और एन्क्रिप्शन कुंजी" नहीं है। - Jorge Castro
क्या उबंटू रिलीज आप उपयोग कर रहे हैं? उबंटू 10.04 एलटीएस में यह डिफ़ॉल्ट रूप से उपलब्ध होना चाहिए। - ændrük
10.10, बस टैग जोड़ा। मार्सेल का जवाब वह है जो मैं ढूंढ रहा हूं, हालांकि आपके डेस्कटॉप उन्मुख उत्तर के लिए +1! - Jorge Castro
यह कार्यक्रम है seahorse। - Gilles
मुझे लगता है कि यह एप्लिकेशन सिस्टम-> प्राथमिकता मेनू में 10.10 में है (अभी इसे जांच नहीं सकता है, मैं 10.04 पर हूं) - Huygens


उबंटू पर आप लॉन्चपैड से अपनी चाबियाँ ला सकते हैं:

ssh-import-id [launchpad account name]

विवरण:

  1. आपको लॉन्चपैड खाते की आवश्यकता है लॉग इन करें या खाता बनाएं
  2. लॉग इन करने के बाद, के बगल में स्थित बटन पर क्लिक करें एसएसएच कुंजी:
  3. उस क्षेत्र में अपनी सार्वजनिक कुंजी फ़ाइल की सामग्री पेस्ट करें (टिप्पणी सहित)। इस तरह की एक कुंजी दिखती है:

    ssh-rsa AAAAB3Nza .... UyDOFDqJp lekensteyn
    

    यहाँ, ssh-rsa इंगित करता है कि कुंजी एक आरएसए कुंजी है, AAAAB3Nza .... UyDOFDqJp वास्तविक कुंजी है और lekensteyn टिप्पणी है।

  4. दबाकर कुंजी को सहेजें सार्वजनिक कुंजी आयात करें
  5. अगर सब कुछ ठीक हो गया, तो आपकी कुंजी अब नीचे सूचीबद्ध होनी चाहिए एसएसएच कुंजी:

पैकेज ssh-import-id मशीन पर स्थापित करने की जरूरत है जिसे रिमोट से एक्सेस किया जाना चाहिए। यह पैकेज एक साथ स्थापित है openssh-serverपैकेज के रूप में यह एक अनुशंसित पैकेज है openssh-server। यह सुनिश्चित करने के बाद ssh-import-id क्लाइंट मशीन पर स्थापित किया गया है, चलाएं:

ssh-import-id [launchpad account name]

यह एचटीटीपीएस पर लॉन्चपैड सर्वर से सार्वजनिक कुंजी डाउनलोड करेगा जो आपको एमआईटीएम हमलों से बचाता है।

उबंटू ल्यूसिड और इससे पहले, आप इसे पूरा कर सकते हैं:

wget https://launchpad.net/~[lp acount name]/+sshkeys -O - >> ~/.ssh/authorized_keys && echo >> ~/.ssh/authorized_keys

echo एसएसएच कुंजी के साथ लाइन के बाद एक अतिरिक्त नई लाइन प्राप्त करने के लिए कमांड की आवश्यकता है।


18
2018-06-10 19:20





कस्टम पोर्ट के लिए

ssh-copy-id -i "user@hostname.example.com -p2222"

-i स्विच को ~ / .ssh / id_rsa.pub पर स्विच करें, यदि आप एक और कुंजी चाहते हैं, तो कुंजी के पथ को बाद में रखें

चेतावनी: यदि आपने -i नहीं लिखा है तो यह आपकी सभी कुंजियों को ~ / .ssh में मिलेगा


12
2018-03-08 20:16



क्या आप उस चेतावनी के बारे में निश्चित हैं? "-i identity_file - पहचान_फाइल में निहित कुंजी (एस) का उपयोग करें (एसएसएच-एड (1) या default_ID_file के माध्यम से पहचान की तलाश करने के बजाय)। अगर फ़ाइल नाम .pub में समाप्त नहीं होता है तो यह जोड़ा जाता है। अगर फ़ाइल नाम छोड़ा गया है, default_ID_file का उपयोग किया जाता है। " - Yousha Aleayoub