एकल उपयोगकर्ता मोड में एक मैक पर SSH सक्षम करें


10

मेरे पास एक iMac है जिसे मैं केवल एकल उपयोगकर्ता मोड में एक्सेस कर सकता हूं, क्योंकि गंभीर हार्डवेयर क्षति। मैंने एक ईथरनेट केबल के साथ इसे दूसरे कंप्यूटर से जोड़ा। मैं SSH के माध्यम से iMac में दूरस्थ रूप से लॉगिन करना चाहूंगा। IMac OS X 10.6.4 चला रहा है।

मुझे ऐसे ही उत्तर मिले, लेकिन मैंने जो कोशिश की वह हमेशा विफल रही।

मैंने कोशिश की systemsetup -setremotelogin onऔर यह निम्न त्रुटि संदेश देता है:

systemsetup[63:903] setInetDServiceEnabled failed for ssh because authorizationRef is NULL!

जबकि launchctl load -w /System/Library/LaunchDaemons/ssh.plistदेता है:

DNSServiceRegister("ssh"): -65563
DNSServiceRegister("sftp-ssh"): -65563
bind(): Can't assign requested address
launch_msg(): Socket is not connected
launchctl: CFURLWriteDataAndPropertiesToResource(/var/db/launchd.db/com.apple.launchd/overrides.plist) failed: -10

मुझे क्या करना चाहिए?


Can't assign requested addressमुझे लगता है कि यह किसी भी तरह का नेटवर्क कनेक्शन नहीं है। मुझे लगता है कि एकल-उपयोगकर्ता मोड में आपको नेटवर्किंग सक्षम करने के लिए उपयोग करना होगा ifconfigया ifupचालू करना होगा ।
ब्लैकलाइट शाइनिंग

@ ब्लेकलाइटिंग धन्यवाद! मेरे पास इन आदेशों के साथ बहुत कम अनुभव है, मुझे लगता है कि मैक के साथ इसका उपयोग करना अधिक उपयुक्त होगा networksetupया ipconfig, हालांकि। क्या आपको इस बात का अंदाजा है कि किसी अन्य कंप्यूटर को एकल ईथरनेट केबल के माध्यम से iMac से कनेक्ट करने के लिए मुझे क्या कमांड देनी चाहिए? या, वैकल्पिक रूप से, iMac को WPA2 के साथ संरक्षित वाई-फाई नेटवर्क से कनेक्ट करने के लिए?
राल्फोरट

मुझे खुद पर यकीन नहीं है। आप लगभग किसी भी कार्यक्रम के लिए मैनुअल पेज man $program_nameको वैसे प्राप्त कर सकते हैं । मैं देख लेता हूँ और देखता हूँ कि क्या मैं तुम्हारे लिए कुछ करने की कोशिश कर सकता हूँ ...
ब्लैकलाइट शाइनिंग

जवाबों:


8

लगता है कि आपको कुछ और प्लस्ट लोड करने की आवश्यकता है:

launchctl load /System/Library/LaunchDaemons/com.apple.kextd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.notifyd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.configd.plist
launchctl load /System/Library/LaunchDaemon/com.apple.DirectoryServices.plist

फिर वही करें जो आपने पहले किया था:

launchctl load -w /System/Library/LaunchDaemons/ssh.plist
systemsetup -setremotelogin on

उसके बाद, मुझे लगता है कि आप एड-हॉक नेटवर्क बनाने के लिए बस ईथरनेट केबल को दोनों कंप्यूटरों में प्लग कर सकते हैं। ifconfig en0 | grep inetलक्ष्य मशीन पर आपको अपना आईपी पता प्राप्त करना चाहिए, और फिर आप सभी सेट हो जाएंगे। :)


आपकी सलाह के लिए धन्यवाद, पहले कमांड अच्छे थे। पिछले आदेश कंप्यूटर के साथ जवाब के लिए दुर्भाग्य: DNSServiceRegister("ssh"): -65563, DNSServiceRegister("sftp-ssh"): -65563, इन दो संदेश के साथ दो बार दोहराए गए। इसलिए मैं ssh से नहीं जुड़ सकता। मुझे याद है कि आने वाले ssh कनेक्शन के लिए पोर्ट को बदल दिया है, इसलिए यह शायद मेरी गलती है, लेकिन मैं किसी भी मदद की सराहना
करूंगा

मुझे स्पष्ट करना चाहिए: launchctl load -w /System/Library/LaunchDaemons/ssh.plistमुझे पिछली टिप्पणी में बताई गई त्रुटि systemsetup -setremotelogin onsetInetDServiceEnabled failed for ssh because authorizationRef is NULL!
बताती है

क्या आपको याद है कि आपने पोर्ट कैसे बदला? क्या आप इसे वापस बदल सकते हैं? यह कुछ भी नहीं कर सकता है, लेकिन यह एक कोशिश के काबिल है ...
ब्लैकलाइट शाइनिंग

मैं कॉन्फ़िगरेशन फ़ाइलों को पढ़ता हूं, ऐसा लगता है कि पोर्ट 21 पर सही ढंग से सेट है। संभवतः यह समस्या नहीं थी क्योंकि मैंने दूसरे मैक के निर्देशों का पालन किया और ssh ने भी वही त्रुटियां दीं। ईमानदारी से मैक के लिए मैंने परीक्षण किया था एक मैक मिनी शेर के साथ था और उसने शिकायत की कि com.apple.DirectoryServices.plistइसका कोई और अस्तित्व नहीं है (जैसा कि इसे शेर में हटा दिया गया था), लेकिन यह एक बड़ा मुद्दा नहीं होना चाहिए क्योंकि ssh ने मुझे ठीक उसी तरह त्रुटि दी जैसे कि शेर में आईमैक।
राल्फोर

3

तीन उपाय जिन पर आप विचार कर सकते हैं। सबसे पहले, लक्ष्य डिस्क मोड का प्रयास करें। यदि एकल उपयोगकर्ता मोड काम करता है, तो लक्ष्य डिस्क मोड भी काम करना चाहिए।

एक बार जब यह लक्ष्य डिस्क मोड में शुरू हो जाता है, तो इसे आपके पास मौजूद अन्य सिस्टम (फायरफॉक्स का उपयोग करके) में प्लग करें, और दूसरी प्रणाली को बाहरी रूप से बूट करने के लिए कहें (बूट पर नीचे विकल्प को दबाए रखें)। स्थानीय सिस्टम हार्डवेयर का उपयोग करके क्षतिग्रस्त सिस्टम बूट में ओएस के एक बार, सिस्टम प्राथमिकताएं खोलें और "साझा करना" पर क्लिक करें इसे सक्षम करने के लिए "रिमोट लॉगिन" के बगल में स्थित चेकबॉक्स का चयन करें।

शट डाउन और पुनरारंभ करें, और आपके पास एसएसएच होना चाहिए और चलना चाहिए।

एक दूसरा विकल्प क्षतिग्रस्त सिस्टम से हार्ड ड्राइव को निकालना है और इसे बाहरी रूप से (बाहरी परिक्षेत्र में) बूट करें या इसे अपने कार्यात्मक सिस्टम के अंदर रखें और वहां से बूट करें।

यदि उनमें से कोई भी काम नहीं करता है, लेकिन आप एकल उपयोगकर्ता चला रहे हैं, तो विचार करें

cd /Library/Preferences
echo -n enabled > com.apple.ScreenSharing.launchd

यह स्क्रीन साझाकरण को चालू करेगा, रिमोट मशीन पर सिस्टम प्राथमिकताएं एक्सेस करने के लिए उपयोग करें, परिवर्तन करें (SSH चालू करें) और आप कार्यात्मक हैं।


0

सीधे sshd लॉन्च क्यों नहीं कर रहा है? एक बार नेटवर्क उठने /usr/sbin/sshd -p 4212पर पोर्ट 4212 पर ssh सर्वर खुलेगा।


आपके उत्तर के लिए धन्यवाद। मैंने कमांड निष्पादित किया (जिज्ञासा से बाहर मैं पूछना चाहता हूं कि इसे पूरा रास्ता लिखने की आवश्यकता क्यों थी /usr/sbin/)। अगर मैं topआईमैक पर चलता हूं तो मुझे एक प्रक्रिया दिखाई देती है sshd, इसलिए इसे काम करना चाहिए। हालाँकि जब मैं एक ईथरनेट केबल के साथ कंप्यूटर से जुड़ता हूं, तो iMac के आईपी को देखें ifconfig, और ssh 192.168.0.3 -p 4212दूसरे कंप्यूटर पर इसे ssh: connect to host 192.168.0.3 port 4212: Operation timed out
चलाएं

मुझे यह भी उल्लेख करना चाहिए कि shutdown -h nowअब iMac को बंद करने के लिए काम नहीं करता है। मुझे इसे मैन्युअल रूप से बंद करना पड़ा
राल्फोर

मैं बुरी तरह से कॉन्फ़िगर किए गए पैथ चर के कारण आश्चर्य से बचने के लिए अपने उत्तरों में पूर्ण पथ लिखता हूं। मैं उस आदेश का अक्सर उपयोग करता हूं और यह मेरे लिए 10.6 और 10.7 पर काम करता है, हालांकि एकल उपयोगकर्ता मोड में मुझे स्वीकार नहीं करना है। क्या आप ssh को जड़ के रूप में जोड़ रहे हैं?
cdelacroix

मैं रूट के रूप में कैसे कनेक्ट करूं? मैंने कोशिश की ssh root@192.168.0.3 -p 4212और मैंने iMac में स्थापित किए गए अन्य खातों के उपयोगकर्ता नामों के साथ भी कोशिश की और यह हमेशा बाहर रहता है। यदि मैं 4212 के बजाय किसी अन्य पोर्ट का उपयोग करता हूं, तो यह "कनेक्शन मना कर दिया" शिकायत करता है, इसलिए कुछ काम करना चाहिए, क्योंकि यह सही पोर्ट का जवाब देता है। हालाँकि, मैं अभी भी कनेक्ट नहीं कर पा रहा हूँ
राल्फटर

हो सकता है कि सर्वर शेल खोल न सके? आप ssh -vvv root@192.168.0.3 -p 4212क्लाइंट की ओर से (वास्तव में) वर्बोज़ आउटपुट को देखने की कोशिश कर सकते हैं, या सर्वर साइड पर भी ssh को डिबग मोड में रख सकते हैं कि क्या हो रहा है (साथ sshd -d -p 4212)।
cdelacroix
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.