如何锁定用户帐户,使其能够尽可能少地读/写/执行?

如何锁定用户帐户,使其能够尽可能少地读/写/执行?

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

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

复杂的是,我不想 100% 相信他们保护密钥文件的能力。我宁愿将妥协的潜在损害降到最低,同时它仍然是假设的 - 并借此机会了解有关安全性的更多信息。

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

我很感激任何帮助!

答案1

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

例如:

command="" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDc7nKsHpuC6W/U131p0yDh455sLE9pWmFxdK...

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

例如:

ssh -N -D 8080 host.example.com

相关内容