SSH कुंजियों का उपयोग कैसे करें और पासवर्ड प्रमाणीकरण अक्षम करें


12

मैं एक लिनक्स क्लाइंट कंप्यूटर से SSH के माध्यम से एक मैक को दूरस्थ रूप से एक्सेस करने की कोशिश कर रहा हूं (मेरे पास इस मैक की भौतिक पहुंच है)। मेरा लक्ष्य इस मैक को नेटवर्क के बाहर से एक्सेस करना है। पोर्ट फ़ॉरवर्डिंग को राउटर पर सेट किया गया है। अपने क्लाइंट कंप्यूटर से मैं ssh user@ipसार्वजनिक आईपी के लिए सक्षम हूं और मैं मैक में आने में सक्षम हूं, इसलिए पोर्ट फॉरवर्डिंग काम कर रहा है।

अब मैं SSH कुंजियाँ स्थापित करना चाहता हूँ। मैंने अपने क्लाइंट कंप्यूटर पर SSH कीज़ जेनरेट की हैं, लेकिन मैं पहले मैक सेटअप पर SSH डेमन को प्राप्त करना चाहता था। मैंने एडिट किया /etc/ssh_configऔर सेट किया PasswordAuthentication no। मैंने इन आदेशों के साथ SSH को फिर से शुरू किया: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plistफिर sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist। जब मैं फिर से क्लाइंट से SSH की कोशिश करता हूं, तब भी यह मेरा पासवर्ड मांगता है।

मैंने इस पोस्ट पर एक नज़र डाली और जवाब से मैंने UsePAM noकॉन्फिग फ़ाइल में जोड़ा और फिर से सेवा को launchctlफिर से शुरू किया । मुझे अभी भी पासवर्ड के लिए संकेत दिया जा रहा है।

मैं भी समाधान की कोशिश की यहाँ । मुझे अभी भी पासवर्ड के लिए संकेत दिया जा रहा है।

मैं अपना सेट अप कैसे करूं ssh_configताकि यह पासवर्ड न मांगे और केवल SSH कुंजी स्वीकार करे? क्या मैं ठीक से डेमॉन को दोबारा शुरू नहीं कर रहा हूं? क्या कोई और कदम है जो मुझे याद आ रहा है?

जवाबों:


13

मैं गलत कॉन्फ़िगरेशन फ़ाइल को संपादित कर रहा था! इसके बजाय /etc/ssh_config, मैंने संपादित किया private/etc/sshd_config। मुझे लगता है कि शायद यह भी काम किया होगा यदि मैंने /etc/sshd_config@GhostLric से अपडेट किए गए उत्तर के अनुसार संपादित किया, लेकिन मैंने यह परीक्षण नहीं किया कि अभी तक मैं निश्चित रूप से नहीं कह सकता। उसके बाद, मैंने सेवा को फिर से शुरू किया sudo launchctl stop com.openssh.sshdऔर फिर sudo launchctl start com.openssh.sshdमैं अपने इच्छित व्यवहार को प्राप्त करने में सक्षम हुआ। यहाँ वह संसाधन है जहाँ मुझे प्रासंगिक जानकारी मिली: /superuser/364304/how-do-i-configure-ssh-on-os-x

यहां मेरे द्वारा बदले गए कॉन्फ़िगरेशन विकल्प हैं:

PermitRootLogin no
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no

उसके बाद मैं अपने क्लाइंट कंप्यूटर पर SSH कुंजियों को सफलतापूर्वक बनाने में सक्षम था, सार्वजनिक कुंजी को ~/.ssh/authorized_keysमैक पर ले जाया और उस फ़ाइल के लिए अनुमतियों को 644 पर सेट किया।

यह ध्यान रखना महत्वपूर्ण है कि वे अनुमतियाँ मेरी सार्वजनिक कुंजी के लिए हैं । मेरी निजी कुंजी अनुमतियाँ मेरे क्लाइंट कंप्यूटर पर 600 पर सेट हैं। यह वास्तव में महत्वपूर्ण है यदि आपके पास अपने ~/.sshफ़ोल्डर में आपकी सार्वजनिक और निजी दोनों कुंजी है और सिस्टम पर कई उपयोगकर्ता हैं। यदि आपकी निजी कुंजी अनुमतियाँ 644 पर सेट हैं, तो कोई भी उपयोगकर्ता आपकी निजी कुंजी पढ़ सकता है और आपको प्रतिरूपित कर सकता है। साथ ही, ~/.sshफ़ोल्डर के लिए अनुमतियाँ 700 होनी चाहिए।


5
आंतरिक रूप से, /etc/sshd_configऔर /private/etc/sshd_configएक ही फ़ाइल हैं। :)
घोस्टलेक

8

/etc/ssh/ssh_configक्लाइंट के लिए कॉन्फ़िगरेशन फ़ाइल है जिसका उपयोग तब किया जाता है जब आपके पास अपने होम डायरेक्टरी में अधिक विशिष्ट एक न हो। जो आप संपादित करना चाहते हैं /etc/ssh/sshd_configवह सर्वर के लिए एक है।

आप शायद PermitRootLogin without-password(या no) सेट करना चाहते हैं और PasswordAuthentication noवहां।


अपडेट: चूंकि आप योसेमाइट चला रहे हैं, फ़ाइल /etc/sshd_configइस उत्तर के अनुसार है: https://apple.stackexchange.com/a/167405/11135

आगे करने के लिए विस्तार से बता क्यों यह अभी भी संकेतों जब स्थापित करने PasswordAuthentication noमें /etc/ssh/ssh_configयह समझना महत्वपूर्ण है कि तुम क्या कॉन्फ़िगर किया गया महत्वपूर्ण है। " SSH के माध्यम से एक आउटगोइंग कनेक्शन बनाते समय , पासवर्ड प्रमाणीकरण की पेशकश न करें।"


मेरे पास ए नहीं है /etc/ssh/ssh_config, केवल ए /etc/ssh_config। मैं योसेमाइट पर चल रहा हूं। मैंने कोशिश की, PasswordAuthentication noलेकिन यह अभी भी मुझे पासवर्ड के लिए संकेत दे रहा है।
18

ओह समझा। वह नहीं है जो मैं चाहता हूं। मैं अपने लिनक्स क्लाइंट से मैक के लिए कुंजी और पासवर्ड के बिना एसएसएच करना चाहता हूं। एक आने वाले कनेक्शन के लिए मुझे क्या बदलना चाहिए ?
18

/etc/sshd_configPasswordAuthentication no। गलतफहमी के लिए खेद है। कृपया मुझे बताएं कि मैं उत्तर को और अधिक स्पष्ट कैसे कर सकता हूं। :)
घोस्टलाईट

मुझे अब भी वही व्यवहार मिल रहा है। यह एक पासवर्ड के लिए मुझे संकेत देता है जब मैं लिनक्स मशीन से मैक पर जाता हूं।
beznez

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