Похожая проблема
Еще одно возможное преимущество
У меня была та же проблема , используя ~/.ssh/authorized_keys
с permitopen
.
Поскольку я использую autossh
для создания туннеля, мне нужно два порта:
- один для подключения (10000),
- один для мониторинга (10001).
На стороне клиента
Это дало мне похожую проблему с портом мониторинга:
autossh -M 10001 -o GatewayPorts=yes -o ServerAliveInterval=60 -o TCPKeepAlive=yes -T -N -R :10000:localhost:22 -i ~/.ssh/id_rsa user@remote
У меня было это сообщение (через 10 минут):
channel 2: open failed: administratively prohibited: open failed
На удаленной стороне
Мой /var/log/auth.log
содержал:
Received request to connect to host 127.0.0.1 port 10001, but the request was denied.
В моей ~/.ssh/authorized_keys
(удаленной стороне) у меня было это:
command="/home/user/tunnel",no-X11-forwarding,no-pty,permitopen="localhost:10000",permitopen="localhost:10001" ssh-rsa AAAA...
Как это решить
Я решил это, заменив localhost
экземпляры на 127.0.0.1
:
command="/home/user/tunnel",no-X11-forwarding,no-pty,permitopen="127.0.0.1:10000",permitopen="127.0.0.1:10001" ssh-rsa AAAA...
Кажется , что SSH не понимает , что localhost
это ярлык 127.0.0.1
, следовательно, сообщение auth.log
и запрещен администратором сообщение.
Здесь я понимаю, что административно означает «из-за конкретной конфигурации на стороне сервера».