我正在尝试设置一个用户帐户,该帐户只能在特定端口 (9229) 上设置用于端口转发的隧道。我创建了一个具有最小主文件夹(仅一个.ssh
文件夹和.ssh/authorized_keys
文件)的用户。我已经让私钥登录正常工作(并且从那时起禁用了密码登录)。现在这是我的authorized_keys
文件:
permitopen="localhost:9229",no-pty,no-X11-forwarding,no-agent-forwarding,command="/bin/echo 'Remote shell access has been disabled'" ssh-rsa KEY USER@HOST
现在,当我尝试使用 设置隧道时ssh -i KEY -o ExitOnForwardFailure=yes -L 9229:127.0.0.1:9229 USER@HOST sleep 10
,我只会得到Remote shell access has been disabled
。如果我删除该command=...
部分,则没有问题,但用户可能会得到各种各样的东西。
我究竟做错了什么?
我的方法基于https://stackoverflow.com/questions/8021/allow-user-to-set-up-an-ssh-tunnel-but-nothing-else
我尝试过将permitopen
指令移到指令之后和之前command
。我也尝试过permitopen=127.0.0.1:9229
和permitopen=:9229
。