Ssh क्लाइंट के सर्वर द्वारा रोमिंग की अनुमति नहीं दी जा सकती है?


25

मैं SSH सर्वर के उदाहरण और वर्बोज़ आउटपुट में कनेक्ट करने में विफल रहा हूँ debug1: Roaming not allowed by server। निम्नलिखित पूर्वानुमान और वहाँ परिहार्य समस्याएं उत्पन्न होती हैं:

  • रोमिंग का अर्थ विभिन्न प्रकार के नेटवर्क से सेवाओं तक पहुंच बनाना है। मैं यह पता नहीं लगा सकता कि sshउबंटू 14.04 पर चलने वाले 6.6.1 क्लाइंट के वर्बोज़ आउटपुट के संदर्भ में इसका क्या मतलब हो सकता है ।
  • यह स्पष्ट नहीं है कि यह कोई त्रुटि है या नहीं और यदि यह लॉगिन की विफलता का कारण है या नहीं (मैं यहां कनेक्शन की विफलता में गोता नहीं लगाना चाहता हूं, हालांकि, sshबीटीडब्ल्यू के आउटपुट संदेश में से कोई भी नहीं है; -> अधिक समस्याएं और समय की प्रतीक्षा - आपको चेतावनी दी गई है! '
  • मैंने site:www.openssh.org roamingखाली परिणाम के साथ Google में खोजबीन की और इस शब्द का उपयोग नहीं किया। यदि इसकी अस्पष्टता के कारण इसे प्रलेखित किया गया था तो भी इसका उपयोग करना बकवास है!

संदेश का क्या मतलब हो सकता है? मैं इसका उपयोग अन्य अत्यधिक अस्पष्ट, अनपेक्षित और अनपेक्षित त्रुटि और SSH के अन्य संदेशों के बड़े सेट को डीबग करने के लिए कैसे कर सकता हूं?

जवाबों:


22

यह वास्तव में एक त्रुटि संदेश नहीं है। यह सिर्फ एक डिबग संदेश है जो आपको बता रहा है कि सर्वर रोमिंग कनेक्शन को स्वीकार नहीं करता है।

रोमिंग जाहिरा तौर पर एक प्रायोगिक विशेषता है, जिसे 2009 में ओपनएसएसएच में जोड़ा गया था। सुविधा का उद्देश्य एक ssh क्लाइंट को सर्वर सत्र से डिस्कनेक्ट करना और फिर किसी अन्य स्थान से सत्र को फिर से शुरू करना है। इसके बारे में कुछ चर्चा के लिए यहां देखें । Googling ssh, रोमिंग, और "मार्टिन फोर्सन" अन्य पेजों को बंद कर देंगे। ऐसा नहीं लगता कि यह सक्रिय रूप से विकसित हो रहा है। मुझे संदेह है कि SSH डेवलपर्स ने कभी इसे प्रलेखित नहीं किया क्योंकि यह प्रयोगात्मक है और शायद समाप्त नहीं हुआ है।

ओपनएसएसएच स्रोत कोड का निरीक्षण करने से, एक अनिर्दिष्ट क्लाइंट-साइड विकल्प है UseRoamingजिसे हां या नहीं में सेट किया जा सकता है। .ssh/configडिबग संदेश को दबाने के लिए अपने क्लाइंट कॉन्फ़िगरेशन (आमतौर पर आपकी फ़ाइल) के लिए "UseRoaming no" लाइन जोड़ना ।

मेरे लिए यह स्पष्ट नहीं था कि सर्वर-साइड HostbasedAuthenticationसेटिंग क्यों नियंत्रित करेगा कि सर्वर रोमिंग कनेक्शन स्वीकार करता है या नहीं।

अद्यतन: क्लाइंट रोमिंग समर्थन जाहिरा तौर पर एक कंप्यूटर भेद्यता जोखिम रिपोर्ट, CVE-2016-0777 का विषय है । 7.1p1 के माध्यम से ओपनएसएसएच संस्करण 5.4 कमजोर हैं। उपयोगकर्ताओं को OpenSSH 7.1p2 या बाद में अपग्रेड करना चाहिए। जो उपयोगकर्ता नवीनीकरण नहीं कर सकते, उन्हें अपने ssh क्लाइंट कॉन्फ़िगरेशन में "UseRoaming no" जोड़कर क्लाइंट में रोमिंग को अक्षम करना चाहिए। निम्नलिखित देखें:


7
खैर, अब इसे नहीं के लिए सेट करने की सिफारिश की गई है। mail-archive.com/misc@openbsd.org/msg144351.html
nikeee

1
@nikeee: ... और "हानिरहित" नॉन-वर्किंग स्टब्स को शिपिंग नहीं करने के लिए यह एक सावधानीपूर्वक कहानी है। (ध्यान दें कि आपको इसे क्लाइंट सेटिंग noमें सेट करने की आवश्यकता है , सर्वर पर नहीं)
Piskvor

@Piskvor लेकिन वहाँ कुछ देवोप्स / वेबॉप्स पुस्तकें हैं जो यह प्रचार करती हैं कि .. क्या वे सभी गलत हो सकते हैं? ओह।
फ्लोरियन हेइगल

नेट पर इस कॉन्फिग के बारे में सबसे अच्छी व्याख्या।
निल्स पीटरसन

4

CentOS6 पर खुलता 5.3 से चैंज का नोट है:

2009/06/27
     क्लाइंट विकल्प UseRoaming जोड़ें। यह अभी तक कुछ भी नहीं करता है लेकिन होगा
     नियंत्रित करें कि क्या क्लाइंट रोमिंग का उपयोग करने का प्रयास करता है यदि सक्षम किया गया है
     सर्वर। मार्टिन फोर्सेन से।

3

@ ILMostro_7 chmod 600 अधिकृत_की ने मेरे लिए ठीक काम किया।

किसी अन्य व्यक्ति के लाभ के लिए, जो "सर्वर द्वारा अनुमत रोमिंग नहीं है" गुग्लिंग करके यहां आता है, और एक लिनक्स (उबंटू) क्लाइंट का उपयोग कर रहा है, आप उस चेतावनी को ठीक कर सकते हैं और फिर देखें: -

Agent admitted failure to sign using the key

इसके लिए इलाज https://help.github.com/articles/error-agent-administr-failure-to-sign/ पर दिया गया है

    # start the ssh-agent in the background
    $ eval "$(ssh-agent -s)"
    # Agent pid 59566 (displays process id)
    $ ssh-add
    # Enter passphrase for /home/you/.ssh/id_rsa: [tippy tap]
    # Identity added: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)

'#' = टिप्पणी। आप = आपका उपयोगकर्ता नाम। [टिप्पी टैप] = हमो [यू] आर? = Enter कुंजी दबाएं।

मुझे उम्मीद है कि यह क्यू एंड ए के रूप में किसी ने मेरी मदद की है।


2

जब /etc/ssh/sshd_configयह HostbasedAuthenticationसेट नहीं होता है तो यह त्रुटि संदेश दिख सकता हैyes सर्वर पर है।

मुझे कोई जानकारी नहीं है की क्यों।

एक और मुद्दा हो सकता है:

$ USER /। Ssh निर्देशिका पर अनुमतियों की जांच करें जो उपयोगकर्ता के स्वामित्व में होनी चाहिए और 700 chmod होनी चाहिए। अधिकृत_की फ़ाइल भी chmod 700 होनी चाहिए और उपयोगकर्ता के स्वामित्व में होनी चाहिए।


700? आपको executeकीफाइल पर बिट की आवश्यकता क्यों होगी ?
ILMostro_7

कहाँ से बोली? कृपया एक संदर्भ जोड़ें।
कार्ल रिक्टर

ILMostro_7 फ़ाइल पर नहीं है, यह निर्देशिका पर है, और उपयोगकर्ता को निर्देशिका में फ़ाइलों को बनाने में सक्षम होने के लिए, निष्पादन ध्वज को सेट करना होगा
IceyEC

@IceyEC जवाब के लिए 700 का सुझाव authorized_keys
mdrozdziel

1
होना चाहिए chmod 400। पता नहीं क्यों मैं कभी चाहता हूँ कि फ़ाइल निष्पादन योग्य हो; और लिखने की पहुंच भी इस समय 99.999% वांछनीय नहीं है। sshdजाँचता है कि उपयोगकर्ता के .sshफ़ोल्डर में समूह और अन्य के लिए कोई पहुंच नहीं है, और इसी तरह .ssh/authorized_keys। इसलिए, उत्तर में परमिट काम कर सकते हैं, लेकिन वे अनावश्यक रूप से व्यापक हैं।
पिस्कोवर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.