2012-07-03 32 views
11

मैं नेटवर्क पर एक सीरियल पोर्ट उपलब्ध करना चाहता हूं। RFC-2217 अतिरिक्त सीरियल पोर्ट जानकारी जैसे गति, डेटा बिट्स, स्टॉप बिट्स और हार्डवेयर हैंडशेकिंग लाइनों को परिवहन के लिए टेलनेट को एक्सटेंशन प्रदान करता है।रिमोट सीरियल पोर्ट के लिए प्रोटोकॉल प्रमाणीकरण और एन्क्रिप्शन

हालांकि, मैं यह सुनिश्चित करना चाहता हूं कि यह नेटवर्क पर किसी के लिए आसानी से पहुंच योग्य नहीं है, इसलिए मैं प्रमाणीकरण और एन्क्रिप्शन करना चाहता हूं। प्रमाणीकरण पर टेलनेट कमजोर है और एन्क्रिप्शन प्रदान नहीं करता है। एसएसएच आम तौर पर टेलनेट पर पसंद किया जाता है।

क्या कोई प्रोटोकॉल है जो एसएसएच के माध्यम से सीरियल पोर्ट ट्रांसपोर्ट की अनुमति देता है, RFC-2217 के समान?

मुझे लगता है कि एक एसएसएच सुरंग के माध्यम से टेलनेट + RFC-2217 सुरंग करने के लिए एक विकल्प हो सकता है। यह तकनीकी रूप से प्राप्त करने योग्य है, हालांकि व्यावहारिक रूप से यह थोड़ा अजीब है।

Zeroconf

अन्य सवाल, कैसे इस तरह के एक बंदरगाह के साथ Zeroconf DNS-SD विज्ञापित किया जा सकता है कर रहा है? जैसे एक टेलनेट + आरएफसी -2217 सीरियल पोर्ट, जिसे एसएसएच के माध्यम से सुरंग किया जा सकता है, ज़ीरोकॉन्फ़ के साथ विज्ञापित किया जा सकता है? (सादा टेलनेट + RFC-2217 मैं क्या बता सकता से _telnetcpcd._tcp के रूप में विज्ञापित किया जा सकता है।)

+0

कोई कारण ही नहीं, दोनों सिरों पर पुट्टी को चलाने के लिए? http://superuser.com/questions/270793/connect-two-computers-tetherether-via-a-rs232-serial-port –

+0

यह एक विशिष्ट रेडियो संचार अनुप्रयोग के लिए है, और मैं रेडियो मॉडेम से कनेक्ट करने के लिए पीसी सक्षम करना चाहता हूं डायल-अप पहुंच के लिए, स्थानीय नेटवर्क पर। क्लाइंट पीसी तब वर्चुअल सीरियल पोर्ट और डेटा कॉल डायल करने के लिए सामान्य एटी कमांड का उपयोग करेगा। एसएसएच पर –

+0

आरएफसी 2217, जैसा कि आपने प्रस्तावित किया है, मेरे लिए सही समाधान की तरह लगता है। मुझे यकीन नहीं है कि इसके बारे में क्या अजीब बात है ... एक अच्छा फिट लगता है। – Brad

उत्तर

3

आप जो चाहते हैं वह सुरक्षित सीरियल-ओवर-लैन कनेक्शन है।

कारण आपको कोई मुफ्त प्रोजेक्ट नहीं मिला है जो यह आसान है - अधिकांश खुली स्रोत परियोजनाएं प्रोटोकॉल से परिवहन परत सुरक्षा को अलग करती हैं (अच्छे कारणों से)। प्रत्येक एप्लिकेशन के लिए पहिया को पुन: आविष्कार करने के बजाय, आप केवल सुरक्षा घटक (इस मामले में एसएसएच) का पुनः उपयोग कर सकते हैं और इसे अपने असुरक्षित प्रोटोकॉल (उदाहरण के लिए आरएफसी -2217-संगत) पर लागू कर सकते हैं।

कनेक्शन को सुरक्षित करने के लिए बस एक एसएसएच सुरंग या स्टनल का उपयोग करें। विंडोज क्लाइंट्स के लिए, आप com2com और * nix सिस्टम जैसे ttyd का उपयोग कर सकते हैं।

com2com, उदाहरण के लिए, प्रारंभिक सेटअप के बाद भी मैन्युअल रूप से प्रारंभ करने की आवश्यकता नहीं है, इसलिए आपके उपयोगकर्ताओं को केवल एक एसएसएच सुरंग (उदाहरण के लिए पुटी के माध्यम से) स्थापित करना होगा।

  • com2com
  • socat, pty और openssl-listen आप काफी आप क्या चाहते हैं कर सकते हैं का उपयोग कर (थोड़ा विपरीत है क्या मैं ऊपर लिखा था, क्योंकि यह वास्तव में परिवहन परत सुरक्षा को लागू करता है)
4

मुझे यकीन है कि SSH सुरंग के रूप में अजीब है के रूप में आपको लगता है नहीं कर रहा हूँ:

डब्ल्यूमेजबान: पोर्ट
अनुरोध करता है कि क्लाइंट पर मानक इनपुट और आउटपुट को सुरक्षित चैनल पर पोर्ट पर होस्ट करने के लिए अग्रेषित किया जाए। तात्पर्य एन, -टी, ExitOnForwardFailure और ClearAllForwardings और प्रोटोकॉल संस्करण 2 के साथ ही काम करता है।

$ ssh -W mail.server.com:25 [email protected] 
220 mail.server.com ESMTP 
Postfix 
ehlo foo.com 
250-mail.server.com 
250-PIPELINING 
250-SIZE 
250-ETRN 
250-AUTH LOGIN PLAIN 
250-STARTTLS 
250-ENHANCEDSTATUSCODES 
250-8BITMIME 
250 DSN 
quit 
221 2.0.0 Bye 

अलग से कोई स्थापना एक सुरंग और फिर उस पोर्ट से कनेक्ट करने के लिए, बस ssh से इनपुट और आउटपुट पाइप:

यहाँ एक छोटी एसएमटीपी सत्र (बोल्ड अक्षरों में टाइप किया गया इनपुट) की तरह लग रहा सुरंग है प्रक्रिया।

0

SSH "requesting a pseudo-terminal" के साथ "pseudo-terminal encoded terminal modes" प्रदान करता है। यह बॉड दर, बिट्स, समानता, स्टॉप बिट कॉन्फ़िगरेशन सेट करने के लिए प्रदान करता है। फ़्रेमिंग त्रुटियां और ब्रेक स्थिति प्राप्त करने के लिए PARMRK सेट करना संभव है। हालांकि, ऐसा लगता है कि एसएसएच प्रोटोकॉल में वर्तमान में सेट ब्रेक हालत, या डीटीआर और आरटीएस मॉडेम हार्डवेयर लाइनों को सेट करने या डीएसआर, सीटीएस, डीसीडी और रिंग मॉडेम हार्डवेयर लाइनों को सेट करने के लिए किसी भी कमांड की कमी है।

देखें: