LAN içinde bir ipv6 ubuntu ssh nasıl?


57

Ubuntu kutuma şu komutu kullanarak ping atabiliyorum: (burada c2h2ttt / etc / hosts dosyasında listeleniyor)

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

Ve denediğimde ssh -6 c2h2tttşunu gösteriyor:

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

Doğru komut nedir?


Sunucu tarafında / etc / ssh / sshd_config'de şunlar bulunur:

ListenAddress ::
ListenAddress 0.0.0.0

22 netstat -lnt | grep :22nolu bağlantı noktasında ipv4 aracılığıyla c2h2ttt ssh yapmayı başardım ve

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 kullanılır ve 22 numaralı bağlantı noktasındaki gelen trafiğe izin verir

root@c2h2think:~# ufw status
Status: active

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

Ve iptables yapılandırması:

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 dosyanızı düzenlemeniz ve / veya sshd'yi yeniden başlatmanız gerekebilir, böylece dinlenecek yeni v6 adresleri olduğunu anlarsınız.

Ne olduğunu netstat -lnt | grep :22(açık dinleme sayısal tcp soketleri | içeren: 22) ne söylediğini kontrol edin.
efemient

Sen yaptın doğru ... ip6tables açık port 22?
Ignacio Vazquez-Abrams

Bir saniye ip6tables'ı kontrol
ediyorum

Yanıtlar:


89

Arabirimi ssh istemcisine belirlemeyi deneyin. Ping6 yardımcı programı bir arabirim belirlemenizi sağlar, ancak ssh bunun için bir anahtarına sahip değildir, bu sözdizimini kullanmanız gerekir:

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

2
vay, teşekkürler çalışıyor! sadece eth1 problemi yüzünden
c2h2

2
Bunu denedim, benim için de çalıştı! Neden biri arayüzü belirlemek zorunda?
Max Beikirch

9
@MaxBeikirch, çünkü HER tamamen operasyonel ağ arayüzünde fe80: adresi olacak Bu nedenle, sistem trafiği hangi arayüze göndereceğini bilmiyor. Bu bir trafik yönlendirme sorunudur. Diğer adresler için, sistem genellikle akıllı seçimler yapar, çünkü bilgisayar "yakındaki" adreslere (aynı alt ağdaki adresler anlamına gelir) yollar atamaktadır, ancak bu fe80 ile çalışmaz: çünkü tüm ağ arayüzleri aynı alt ağın bir parçasıdır.
TOOGAM

1
@TOOGAM Arayüz için bir arayüz için arayüz postfixini nasıl belirleyebilirim ~/.ssh/config?
PVitt

@PVitt: Her zamanki yol, bir sistem tanımlayıcısı (örneğin bir IP adresi) belirtmek ve ardından yüzde eth1 üzerinde IPv6'nın sonuna kadar tutulan cevabın gösterdiği gibi bir yüzde işaretini ve ardından bir arabirim adını belirtmektir. adres. eth1, arayüz tanımlayıcısıydı. Bu işe yaramazsa, [OpenSSH'in config] isimli man sayfasını kontrol edin (man.openbsd.org/cgi-bin/man.cgi?query=ssh_config&sektion=5) ve bu işe yaramazsa, yapmayı düşünün Size daha fazla yardımcı olabilmemiz için daha ayrıntılı ayrıntılara sahip yeni bir soru (Süper Kullanıcı üzerinde).
TOOGAM

8

Link yerel adreslerinin SSH için kullanılması gerekmiyor, düşük seviyeli protokol önyükleme işleri için kullanılıyorlar. Ağınızda kullanmak için ISS tarafından sağlanan bir önekiniz yoksa, bunun yerine fd00 :: / 8'den benzersiz bir yerel önek oluşturun:

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


//, birileri küresel IPv6 İnternetinde yönlendirilebilen bir IPV6 adresine nasıl erişir?
Nathan Basanese,

@NathanBasanese: ISS IPv6 hizmeti sunmak için vardır ya sizin gibi IPv6 brokeri ile bir tünel kurmak Hurricane Electric
Radu C

3
Link yerel adresleri ağ adresleridir. Bunları SSH için kullanmak istiyorsanız, devam edin. Herhangi bir komplikasyon ile nasıl başa çıkılacağını bilmek gibi. Bir ULA'nın (fd00 :: / 8) umduğu gibi atanmadığı bir durum vardı. Bu durumda, yerel bir link kullanan SSH (fe80 :: / 16) çok çalıştı. Link-local’dan sadece yönlendirmeyle uğraşma derdinden dolayı (bir arayüz belirtme ihtiyacı duyduğumdan) kaçınıyorum, ancak adreslerin teknik olarak trafik gönderme ve alma yeteneğine sahip olmadıkları için değil.
TOOGAM

2

SSH IPv6'yı bağlamak için bilgisayarınızda en çok IPv6 ISP bağlantısı var ve deneyin.

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

ve bu komut SSH anahtarını ilk kez onaylamanızı isteyecektir. türündenY/Yes

Not: 2205:f200:40:401::9ab4:8b43IPv6'nız anlamına gelir. Bu yalnızca IPv6 örneği, bu nedenle IPv6'yı değiştirmeyi unutmayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.