在 中sshd_config
,可以写入类似PermitListen none
和 的内容PermitOpen host:port
,从而允许本地端口转发,同时禁止远程端口转发(反之亦然)。
问题:如何在authorized_keys
文件中执行相同操作,以便在每个键的基础上实现相同的效果?
写作
restrict,port-forwarding,permitlisten="*:<port>" ssh-ed25519 AAAA...
并不阻止客户端将本地端口转发到 部分当前允许的任何主机/端口组合PermitOpen
,sshd_config
因为port-forwarding
(AllowTcpForwarding
与不同sshd_config
)是没有选择性的并且始终启用本地和远程转发。
编写以下任何一项
restrict,port-forwarding,permitlisten="*:<port>",permitopen=none ssh-ed25519 AAAA...
restrict,port-forwarding,permitlisten="*:<port>",permitopen=none:none ssh-ed25519 AAAA...
restrict,port-forwarding,permitlisten="*:<port>",permitopen="none" ssh-ed25519 AAAA...
restrict,port-forwarding,permitlisten="*:<port>",permitopen="none:none" ssh-ed25519 AAAA...
导致在身份验证期间连接被悄悄断开,这表明sshd
文件authorized_keys
语法无效。
答案1
_
是主机名的无效字符。我使用以下内容:
restrict,port-forwarding,permitlisten="*:<port>",permitopen="_invalid_hostname_to_restrict_:1" ssh-ed25519 AAAA...
我已经检查了 OpenSSH 8.4p1 源代码,但没有选项或关键字可以仅禁用远程端口转发。