将SSH配置为允许端口转发,但没有特定密钥的命令?


8

因此,我在中添加了一个公共密钥authorized_keys。我如何对其进行限制,以便它可以转发端口但可能没有外壳?

Answers:


10

您必须在no-pty关键字之前放置一个关键字,使其看起来像这样:

no-pty ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABBACzbcwCZNaN3HhHmpnaVrfZlNJ0HhPnOqEj
k2llms1OOPnEXetIlZuJw0UXbyMbhQbBl/E2wxXvXvF+jyLRR5yN6kBydM4LhjC0ej0PcH839vXd
uwJpDFjPw3s7r0VOhU1WRyk6Da6rX6shzabhQioIm3MHCjNOdywPb0k1cTj4yOxoOCOqGjmXK0
xxzTd+ZjTJqQGWzZ+8L8cVtKmU8kspYlCdhGWSv0Den36OsScnWTBn8A3X3lVJB5NkEm
BM1yKX4F6BhhD317VensEUu031PtFULeSF97IxDPmK36OFz9TPSf4d8Hp3BqtysqUlbWfEhYdHXj
+1Mn4xXZKiZhBh1DX youruser@yourhome

(这全部在一行中,我添加了换行符以提高可读性)。

更新:如果要阻止远程命令执行,则必须添加: command="/bin/false"

no-pty,command="/bin/false" ssh-rsa ...

4
这限制了进行远程登录的能力,它不会阻止远程执行命令。Src:marc.info/?l = openssh
dev&m

1
@mctylr:这不是问题的一部分。但是您说的没错,OP可能没有意识到这一点,因此我在答案中添加了这一点。(+1)
cstamas 2010年

1
另外值得注意的是,当远端没有外壳时,您需要使用'ssh -N'来保持隧道正常运行。
Mike Pountney

1

男人sshd

AUTHORIZED_KEYS个文件格式。您可以通过添加要允许的端口和主机来限制用户可以转发到的内容,例如

permitopen =“ 192.0.2.1:80”

您还可以限制用户从何处连接,可以执行哪些命令等。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.