如何将用户帐户锁定到它可以读/写/执行尽可能少的程度?

Jam*_*mes 5 security ssh permissions account-restrictions accounts

我想最大程度地锁定 Arch Linux 用户帐户。该帐户所需的唯一功能是接受非终端 SSH 会话,该会话允许客户端创建通往 Internet 的隧道。

情况是我想与几个朋友分享我的远程连接。我将为他们提供该帐户的 SSH 密钥,并根据需要配置他们的程序。

复杂的是,我不想 100% 相信他们保护密钥文件的能力。我宁愿在它仍然是假设的时候尽量减少妥协的潜在损害 - 并借此机会了解更多关于安全的信息。

有什么方法可以实现完全隔离和/或锁定的帐户?我可以允许 SSH 连接但拒绝终端访问吗?

我感谢任何帮助!

phe*_*mer 6

将密钥添加到authorized_keys文件时,您可以通过多种选项来限制该密钥的功能。在这种情况下,您可以禁止运行任何命令。只需在它前面加上command="".

例如:

command="" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDc7nKsHpuC6W/U131p0yDh455sLE9pWmFxdK...
Run Code Online (Sandbox Code Playgroud)

当用户想要连接时,他们必须传递-Nssh. 这告诉ssh客户端不要尝试运行命令,而只是打开一个连接(如果已配置,则进行隧道连接)。如果客户端在没有 的情况下启动-N,它将立即断开连接。

例如:

ssh -N -D 8080 host.example.com
Run Code Online (Sandbox Code Playgroud)