Podobny problem
Kolejny możliwy trop
Miałem ten sam problem ~/.ssh/authorized_keys
z używaniem permitopen
.
Podczas autossh
tworzenia tunelu potrzebuję dwóch portów:
- jeden do podłączenia (10000),
- jeden do monitorowania (10001).
Po stronie klienta
Dało mi to podobny problem z portem monitorowania:
autossh -M 10001 -o GatewayPorts=yes -o ServerAliveInterval=60 -o TCPKeepAlive=yes -T -N -R :10000:localhost:22 -i ~/.ssh/id_rsa user@remote
Miałem tę wiadomość (po 10 minutach):
channel 2: open failed: administratively prohibited: open failed
Po drugiej stronie
Mój /var/log/auth.log
zawierał:
Received request to connect to host 127.0.0.1 port 10001, but the request was denied.
W mojej ~/.ssh/authorized_keys
(odległej stronie) miałem to:
command="/home/user/tunnel",no-X11-forwarding,no-pty,permitopen="localhost:10000",permitopen="localhost:10001" ssh-rsa AAAA...
Jak to rozwiązać
Rozwiązałem ten problem, zastępując localhost
instancje 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...
Wydaje się, że SSH nie rozumie, że localhost
jest to skrót do 127.0.0.1
, stąd wiadomość w auth.log
i wiadomość zabroniona administracyjnie .
Rozumiem tutaj, że administracyjnie oznacza „ze względu na określoną konfigurację po stronie serwera”.