Аналогічна проблема
Інший можливий результат
У мене була та ж проблема , використовуючи ~/.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
і заборонене адміністративно повідомлення.
Що я тут розумію, це те, що адміністративно означає "завдяки певній конфігурації на стороні сервера".