У меня есть сервер, который я могу подключить через SSH по адресу IPv4. Теперь я хочу к SSH по IPv6.
Я уверен, что мой сервер присвоен с допустимым адресом IPv6, и я настроил sshd для слушания на адресе v6 (я установил его на [::]:311), но когда я работаю (на моем ноутбуке)
ssh -v -6 -p 311 PUBLIC_V6_IP -l same_user_as_v4 -i ~/.ssh/id_rsa
Я получил следующий вывод:
OpenSSH_5.8p2, OpenSSL 1.0.0d 8 Feb 2011
debug1: Reading configuration data /home/winus/.ssh/config
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to PUBLIC_V6_IP [PUBLIC_V6_IP] port 311.
debug1: connect to address PUBLIC_V6_IP port 311: Permission denied
ssh: connect to host PUBLIC_V6_IP port 311: Permission denied
OpenSSH_5.5p1 Debian-4ubuntu5, OpenSSL 0.9.8o 01 Jun 2010
OpenSSH_5.8p2, OpenSSL 1.0.0d 8 Feb 2011
Возможные причины могли быть:
Локальный брандмауэр (ip6tables
)
Внешний брандмауэр в Вашей сети (согласно некоторым источникам, ICMPv6 "Административно запретил" сообщение об ошибке, интерпретируется Linux как EACCESS),
AppArmor, SELinux, Вкус (хотя ни один из них не идет по умолчанию на Arch),
Вещи Вы могли попробовать:
сброс ip6tables правила
соединитесь с сервером с помощью других программ (socat stdio tcp:[2604:....]:311
) и посмотрите, возвращают ли они то же сообщение; тест и с теми же и с различными портами
ping6
, traceroute6
, и посмотрите, возвращается ли какой-либо транзитный участок "Административно запрещенный" или какая-либо другая ошибка