Предоставлен дополнительный петлевой интерфейс в 127.0.0.Диапазон X (X > 1) на BoxA (который может работать под управлением OSX или Linux), я хочу привязать порт 22 этого дополнительного интерфейса обратной связи к прямому туннелю SSH (то есть к локальному порту пересылки), который указывает на BoxB.
На OSX это работает нормально (странно, оглядываясь назад). [Принимая X
= 2
] после вызова псевдонима обратной связи с ifconfig lo0 alias 127.0.0.2 up
, SSH может установить туннель с ssh -NfL 127.0.0.2:22:localhost:22 BoxB
. Затем в новой оболочке на BoxA ssh 127.0.0.2
регистрирует меня в BoxB.
В Ubuntu я могу вызвать псевдоним loopback на BoxA, но при попытке установить SSH-туннель ssh
жалуется на невозможность связать (и, следовательно, переслать) порт 22 BoxA. Последующий ssh 127.0.0.2
(в новой оболочке на BoxA) выдает предупреждение об отпечатке пальца, которое, если его обойти, возвращает меня обратно в BoxA. Имеет смысл - sshd
на BoxA слушает все интерфейсы.
Рассматривая sshd_config
в каждом, оба настроены на прослушивание 0.0.0.0
(и ::
для IPv6).
lsof
для OSX дает:
launchd 1 root 40u IPv6 0xddfcabed61001f0d 0t0 TCP *:ssh (LISTEN)
launchd 1 root 41u IPv4 0xddfcabed6100413d 0t0 TCP *:ssh (LISTEN)
launchd 1 root 43u IPv6 0xddfcabed61001f0d 0t0 TCP *:ssh (LISTEN)
launchd 1 root 44u IPv4 0xddfcabed6100413d 0t0 TCP *:ssh (LISTEN)
и для Ubuntu:
sshd 1287 0 3u IPv4 21903340 0t0 TCP *:ssh (LISTEN)
Так что оба слушают на всех интерфейсах, хотя я не уверен, почему OSX использует 4 процесса. В любом случае, Ubuntu дает ожидаемое поведение. Почему OSX ведет себя по-другому?
Следующий вопрос, конечно, заключается в том, как заставить Ubuntu вести себя как OSX в этом отношении.
Хотя я хотел бы, чтобы у sshd_config
были состояния, подстановочные знаки и / или логические операторы (например, «не слушайте 127.0.0.*
; Слушайте 127.0.0.1
»), такие как iptables
, похоже, это не так. ,