Nie można zamknąć SSHD na porcie TCP IPv6

1

Używam Ubuntu 10.4 i próbowałem wyłączyć IPv6, ponieważ obecnie go nie potrzebuję. Randam następujące, aby wyłączyć IPv6, a następnie ponownie uruchomiłem serwer:

echo "#disable ipv6" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf

Po ponownym uruchomieniu widzę, że IPv & jest wyłączany przez uruchomienie:

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

Po uruchomieniu netstat -antlpwidzę, że większość aplikacji IPv6 została zamknięta, ale SSHd nadal działa:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:9090            0.0.0.0:*               LISTEN      663/java
tcp        0      0 0.0.0.0:9091            0.0.0.0:*               LISTEN      663/java
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      684/apache2
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      513/sshd
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      605/postgres
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      684/apache2
tcp6       0      0 :::22                   :::*                    LISTEN      513/sshd

Jak mogę zamknąć demona SSH na porcie 22 IPv6?

Dzięki.

Mridang Agarwalla
źródło

Odpowiedzi:

5

Zgodnie z tym

Aby włączyć protokół ipv6 dla dysku SSHD, należy napisać wiersz z /etc/ssh/sshd_confignapisemListenAddress ::

Zrobiłbym więc odwrotnie, zmodyfikowałem /etc/ssh/sshd_configplik i usunąłem ten wiersz.

Tak wyglądałby twój plik

ListenAddress 0.0.0.0
ListenAddress ::

Teraz po prostu chcesz to powiedzieć

ListenAddress 0.0.0.0

- = EDYCJA = -

Inny sposób wyłączenia ipv6 jest najwyraźniej wymieniony w tym poście :

  1. Otwórz terminal i wpisz następujące polecenie (jeśli nie korzystasz z Gedit, zastąp go edytorem tekstowym, takim jak Kate itp.).

    sudo gedit /etc/default/grub

  2. I poszukaj tego:

    GRUB_CMDLINE_LINUX

    Zmodyfikuj go, aby wyglądał następująco:

    GRUB_CMDLINE_LINUX="ipv6.disable=1"

  3. Zaktualizuj GRUB:

    sudo update-grub2
    lub
    sudo update-grub

    w zależności od używanej wersji Grub.

Mokubai
źródło
Cześć Mokubai. Obie te linie /etc/ssh/sshd_configwydają się być domyślnie skomentowane. Czy mogę po prostu ListenAddress 0.0.0.0anulować komentarz i ponownie uruchomić dysk SSHd?
Mridang Agarwalla
Z pewnością spróbowałbym tego najpierw, może być tak, że bez któregoś z tych wierszy (tj. Oba są skomentowane) to domyślnie jest to konfiguracja „wbudowana” z włączonym ipv4 i ipv6.
Mokubai
Wygląda na to, że nie skomentowano tej linii. Tak! Dziękuję Ci.
Mridang Agarwalla
... a może mówiłem zbyt szybko. To nie zrobiło tego.
Mridang Agarwalla
Zdaję sobie sprawę, że to stary post, ale użytkownicy mogą nadal tu przychodzić. Skomentowane linie w pliku konfiguracyjnym są domyślne, więc jeśli „po prostu odkomentujesz” linię, ale nie zmienisz jej w żaden inny sposób, nic się nie zmieni.
WiringHarness,
1

Trafiłem na tę stronę, zanim odkryłem odpowiedź tutaj: https://unix.stackexchange.com/a/126793/353061

Reposting: Domyślnie sshdużywa ipv4 i ipv6. Możesz skonfigurować protokół, którego używa sshd poprzez AddressFamilydyrektywę w/etc/ssh/sshd_config

Dla ipv4 i ipv6 (domyślnie)

AddressFamily any

Tylko dla ipv4

AddressFamily inet

Tylko dla ipv6

AddressFamily inet6

Po wprowadzeniu jakichkolwiek zmian należy je sshd_configzrestartować, sshdaby zmiany zostały wprowadzone.

Ponadto oto jak możesz to zrobić w sed:

sed -i 's/^#AddressFamily any/AddressFamily inet/' /etc/ssh/sshd_config

I uruchom ponownie sshd:

systemctl restart sshd
DimeDroll
źródło
0

Podejrzewam, że wiąże się z 0.0.0.0 i ::, ale jeśli IPv6 jest wyłączony na interfejsie, nie będzie akceptować połączeń na tym interfejsie. Czy próbowałeś połączyć się przez wyłączone interfejsy IPv6?

Catalin M. BOIE
źródło