У меня на Mac OS X 10.4 Tiger установлены следующие настройки ipfw:
00100 allow ip from any to 123.123.123.123
00110 allow tcp from any to 123.123.123.123
00120 allow udp from any to 123.123.123.123
00130 allow ip from 123.123.123.123 to any
00140 allow tcp from 123.123.123.123 to any
00150 allow udp from 123.123.123.123 to any
65534 deny ip from any to any
65535 allow ip from any to any
Я пытаюсь подключиться по ssh к Mac с компьютера Linux с IP-адресом 123.123.123.123, а sshd работает на Mac. Однако клиент ssh выводит следующее:
ssh myuser@mac.example.com -v
OpenSSH_5.5p1, OpenSSL 1.0.0d-fips 8 Feb 2011
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to mac.example.com [10.10.10.10] port 22.
debug1: Connection established.
debug1: identity file /home/me/.ssh/id_rsa type -1
debug1: identity file /home/me/.ssh/id_rsa-cert type -1
debug1: identity file /home/me/.ssh/id_dsa type -1
debug1: identity file /home/me/.ssh/id_dsa-cert type -1
ssh_exchange_identification: Connection closed by remote host
Что могло заставить Mac внезапно закрыть соединение, даже не запросив пароль?
Я считаю, что это связано с настройками IPFW, потому что ssh работал, когда я просто 65535 allow ip from any to any
как настройки IPFW. Например, нужно ли мне правило для обратного поиска DNS?
Во-первых, нет необходимости указывать tcp и udp, если вы разрешаете все ip
в первую очередь. Кроме того, обычно проще начинать свои правила с allow ip from me to any
чтобы разрешить все исходящие соединения.
Попробуйте этот набор правил и посмотрите, что произойдет:
00100 allow ip from me to any
00200 allow ip from 123.123.123.123 to me ssh
01000 allow icmp from any to any
01001 allow igmp from any to any
65534 deny ip from any to any
Улучшенная версия с отслеживанием состояния:
00060 check-state
00100 allow ip from me to any keep-state
00200 allow ip from 123.123.123.123 to me ssh setup keep-state
01000 allow icmp from any to any
01001 allow igmp from any to any
65534 deny ip from any to any