Невозможно закрыть 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, по-видимому, указан в этом посте:
Откройте терминал и введите следующую команду (если вы не используете Gedit, замените его своим текстовым редактором, таким как Kate и т. Д.).
sudo gedit /etc/default/grub
И искать это:
GRUB_CMDLINE_LINUX
Измените его так, чтобы оно выглядело так:
GRUB_CMDLINE_LINUX="ipv6.disable=1"
Обновите 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?