कैसे एक लैन में एक ipv6 ubuntu करने के लिए ssh?


57

मैं कमांड के माध्यम से अपने उबंटू बॉक्स को पिंग करने में सक्षम हूं: (जहां c2h2ttt / etc / मेजबान में सूचीबद्ध है)

c2h2@c2h2crawler:~/ttt$ ping6 -I eth1 c2h2ttt
PING c2h2ttt(c2h2ttt) from fe80::21b:21ff:fe22:e865 eth1: 56 data bytes
64 bytes from c2h2ttt: icmp_seq=1 ttl=64 time=10.3 ms
64 bytes from c2h2ttt: icmp_seq=2 ttl=64 time=2.06 ms
64 bytes from c2h2ttt: icmp_seq=3 ttl=64 time=1.33 ms

और जब मैं ssh -6 c2h2tttयह दिखाता हूँ:

c2h2@c2h2crawler:~/ttt$ ssh -6 c2h2ttt
ssh: connect to host c2h2ttt port 22: Invalid argument

सही कमांड क्या है?


सर्वर की ओर / etc / ssh / sshd_config में है:

ListenAddress ::
ListenAddress 0.0.0.0

मैं 22 बंदरगाह पर ipv4 के माध्यम से c2h2ttt पर ssh करने में सक्षम था। और netstat -lnt | grep :22है

root@c2h2think:~# netstat -lnt | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN

ufw का उपयोग किया जाता है और यह पोर्ट 22 पर किसी भी इनबाउंड ट्रैफिक की अनुमति देता है

root@c2h2think:~# ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere

और iptables कॉन्फ़िगरेशन:

root@c2h2think:~# ip6tables -L -v -n
Chain INPUT (policy DROP 55 packets, 10758 bytes)
pkts bytes target     prot opt in     out     source               destination 
    0     0 ACCEPT     all      lo     *       ::/0                 ::/0        

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 
    0     0 ACCEPT     all      *      lo      ::/0                 ::/0  

आपको अपनी sshd.conf फ़ाइल और / या sshd को पुनः आरंभ करने की आवश्यकता हो सकती है ताकि यह पता चले कि इस पर सुनने के लिए नए v6 पते हैं।

चेक करें कि netstat -lnt | grep :22(ओपन श्रवण संख्यात्मक tcp सॉकेट | युक्त: 22) क्या कहते हैं।
युगांतरकारी

आप किया ip6tables के साथ खुला बंदरगाह 22 ... है ना?
इग्नासियो वाज़क्वेज़-अब्राम्स

एक सेकंड मैं ip6tables की जाँच करें
c2h2

जवाबों:


89

Ssh क्लाइंट के लिए इंटरफ़ेस निर्दिष्ट करने का प्रयास करें। Ping6 उपयोगिता आपको एक इंटरफ़ेस निर्दिष्ट करने की अनुमति देती है, हालांकि ssh में इसके लिए कोई स्विच नहीं है, आपको इस सिंटैक्स का उपयोग करना होगा:

ssh -6 fe80 :: 21b: 21ff: fe22: e865% eth1

2
वाह, यह धन्यवाद काम करता है! सिर्फ इसलिए कि eth1 समस्या
c2h2

2
कोशिश की कि, मेरे लिए भी काम किया! इंटरफ़ेस को क्यों निर्दिष्ट करना पड़ता है?
मैक्स बेकिर्च

9
@MaxBeikirch क्योंकि पूरी तरह से परिचालन नेटवर्क इंटरफ़ेस में एक fe80: पता होगा। इसलिए, सिस्टम को यह नहीं पता है कि ट्रैफ़िक भेजने के लिए कौन सा इंटरफ़ेस है। यह एक ट्रैफिक रूटिंग मुद्दा है। अन्य पतों के लिए, सिस्टम अक्सर बुद्धिमान विकल्प बनाता है क्योंकि कंप्यूटर "पास" पतों (एक ही सबनेट में अर्थ पते) के लिए मार्ग प्रदान करता है, लेकिन यह fe80 के साथ काम नहीं करता है: चूंकि सभी नेटवर्क इंटरफेस एक ही सबनेट का हिस्सा हैं।
TOOGAM

1
@TOOGAM मैं एक होस्ट के लिए इंटरफ़ेस पोस्टफिक्स कैसे निर्दिष्ट कर सकता हूं ~/.ssh/config?
५:१६ पर PVitt

@PVitt: सामान्य तरीका यह है कि सिस्टम आइडेंटिफायर (जैसे कि IP एड्रेस) निर्दिष्ट करें, और फिर प्रतिशत चिन्ह पर व्यवहार करें, और फिर एक इंटरफ़ेस नाम, जैसा कि उस उत्तर द्वारा प्रदर्शित किया गया था, जो IPv6 के अंत में% eth1 से संबंधित था पता। eth1 इंटरफ़ेस पहचानकर्ता था। यदि वह काम नहीं करता है, तो [OpenSH की फ़ाइल के लिए मैन पेज को कॉन्‍फ़िगरेशन नाम दिया गया है] (man.openbsd.org/cgi-bin/man.cgi?query=ssh_config&sektion=5) की जाँच करें, और यदि यह मदद नहीं करता है, तो बनाने पर विचार करें। अधिक सटीक विवरण के साथ एक नया प्रश्न (सुपरयूज़र पर) ताकि हम आगे आपकी मदद कर सकें।
TOOGAM

8

लिंक स्थानीय पते का उपयोग SSH के लिए नहीं किया जाना चाहिए, वे निम्न-स्तरीय प्रोटोकॉल बूटस्ट्रैपिंग सामान के लिए हैं। यदि आपके पास अपने नेटवर्क पर उपयोग करने के लिए आईएसपी-उपसर्ग उपसर्ग नहीं है, तो fd00 :: / 8 के बजाय एक अद्वितीय-स्थानीय उपसर्ग उत्पन्न करें:

http://en.wikipedia.org/wiki/Unique_local_address


//, एक IPV6 पते तक कैसे पहुंचता है जो वैश्विक IPv6 इंटरनेट में निष्क्रिय है, हालांकि?
नाथन बसानी

@NathanBasanese: आपके ISP को आपको IPv6 सेवा प्रदान करना है या आपने एक IPv6 दलालों के साथ एक सुरंग स्थापित की है, जैसे तूफान इलेक्ट्रिक
रादु C

3
लिंक स्थानीय पते नेटवर्क पते हैं। यदि आप उन्हें SSH के लिए उपयोग करना चाहते हैं, तो आगे बढ़ें। बस किसी भी जटिलता (नों) को संभालना जानते हैं, जैसे कि यह सवाल क्या है और जॉन टी का जवाब चर्चा करता है। मेरे पास एक मामला है जहां एक ULA (fd00 :: / 8) आशा के अनुरूप नहीं मिला। उस स्थिति में, SSH ने एक लिंक-लोकल (fe80 :: / 16) का उपयोग करके बहुत अच्छा काम किया। मैं लिंक-लोकल से केवल रूटिंग से निपटने की परेशानी (इंटरफ़ेस निर्दिष्ट करने की आवश्यकता) से बचता हूं, लेकिन इसलिए नहीं कि पते तकनीकी रूप से ट्रैफ़िक भेजने या प्राप्त करने में कम सक्षम हैं।
TOOGAM

2

SSH IPv6 को जोड़ने के लिए आपके पास आपके कंप्यूटर पर IPv6 ISP कनेक्टिविटी सबसे अधिक है और जैसा कि प्रयास करें।

root@hostname[~]# ssh -6 2205:f200:40:401::9ab4:8b43

और यह कमांड SSH कुंजी की पुष्टि करने के लिए पहली बार पूछेगा। प्रकार सेY/Yes

नोट: 2205:f200:40:401::9ab4:8b43मतलब आपका IPv6। IPv6 का यह एकमात्र उदाहरण है ताकि आप IPv6 को बदलना न भूलें।

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