
Я уже некоторое время использую SSH-туннель в Windows (используя Putty).
В Windows с Putty все всегда нормально, но на Mac или Cygwin иногда появляется предупреждающее сообщение:
open failed: administratively prohibited: open failed
решение1
Я полагаю, что вы отключили TCP-пересылку на сервере. /etc/ssh/sshd_config
Убедитесь, что на вашем сервере следующая строка отсутствует или закомментирована, в противном случае закомментируйте ее.
AllowTcpForwarding no
решение2
Существует более широкоеобсуждениеэтой ошибки с SSH-туннелями на Unix StackExchange. В двух словах, это неспецифическая ошибка; есть множество возможностей, которые следует изучить.
решение3
Если в конфигурации sshd уже есть все параметры для включения переадресации портов, но проблема все равно возникает, проверьте /var/log/secure
наличие чего-то вроде этого:sshd: error: connect_to XXX: unknown host (Name or service not known)
Если хост ssh не может разрешить хост, к которому вы хотите подключиться, он выдаст общую ошибку «Невозможно открыть канал».
Дважды проверьте имя хоста туннеля или разрешение DNS на сервере SSH.
решение4
Просто для потомков, даже если это не принесет пользы конкретно вам
Ошибки выводятся на консоль через stderr, поэтому, если вы просто хотите их игнорировать, добавление 2>/dev/null
в конец вызова ssh
будет работать идеально. Например:
ssh -C -D 3210 example@connexion 2>/dev/null
Это полезно, если прокси-туннель на самом деле работает нормально, но вы просто не хотите видеть ошибки.
В моем случае; машина, к которой я подключаюсь, не моя, поэтому я не могу изменить sshd_config
(не то чтобы это было вашей проблемой), и я также использую то же самое соединение для оболочки. Когда эти сообщения об ошибках записываются в мою консоль во время открытого окна vim, дисплей ведет себя довольно раздражающе.