Невозможно закрыть SSHD на TCP-порту IPv6

Я использую Ubuntu 10.4 и пытался отключить IPv6, так как в данный момент он мне не нужен. Я отключил IPv6, а затем перезагрузил сервер:

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

После перезагрузки я вижу, что IPv& отключен, запустив:

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

На бегу netstat -antlp я вижу, что большинство приложений IPv6 закрылись, но SSHd продолжает работать:

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

Как я могу закрыть демон SSH на порте 22 IPv6?

Благодарю.

2 ответа

Согласно этому

Чтобы включить ipv6 для SSHD, нужно написать строку в /etc/ssh/sshd_config это говорит ListenAddress ::

Так что я бы сделал наоборот, отредактируйте ваш /etc/ssh/sshd_config файл и удалите эту строку.

Так что ваш файл выглядел бы так

ListenAddress 0.0.0.0
ListenAddress ::

Теперь вы просто хотите это сказать

ListenAddress 0.0.0.0

-=EDIT=-

Другой способ отключить ipv6, по-видимому, указан в этом посте:

  1. Откройте терминал и введите следующую команду (если вы не используете Gedit, замените его своим текстовым редактором, таким как Kate и т. Д.).

    sudo gedit /etc/default/grub

  2. И искать это:

    GRUB_CMDLINE_LINUX

    Измените его так, чтобы оно выглядело так:

    GRUB_CMDLINE_LINUX="ipv6.disable=1"

  3. Обновите GRUB:

    sudo update-grub2
    или же
    sudo update-grub

    в зависимости от того, какую версию Grub вы используете.

Я зашел на эту страницу, прежде чем нашел ответ здесь: /questions/541070/formatirovanie-zhestkogo-diska-s-oshibkoj-vozvrata-dd/541078#541078

Репостинг: по умолчанию sshd использует ipv4 и ipv6. Вы можете настроить протокол, который использует sshd, через AddressFamily директива в /etc/ssh/sshd_config

Для ipv4 и ipv6 (по умолчанию)

AddressFamily any

Только для ipv4

AddressFamily inet

Только для ipv6

AddressFamily inet6

После внесения каких-либо изменений в sshd_config запустить снова sshd чтобы изменения вступили в силу.

Кроме того, вот как вы можете сделать это в sed:

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

И перезапустите sshd:

systemctl restart sshd

Я подозреваю, что он привязывается к 0.0.0.0 и::, но, если IPv6 отключен на интерфейсе, он не будет принимать соединения на этом интерфейсе. Вы пытались подключиться через отключенные интерфейсы IPv6?

Другие вопросы по тегам