Jam*_*mes 5 security ssh permissions account-restrictions accounts
我想最大程度地锁定 Arch Linux 用户帐户。该帐户所需的唯一功能是接受非终端 SSH 会话,该会话允许客户端创建通往 Internet 的隧道。
情况是我想与几个朋友分享我的远程连接。我将为他们提供该帐户的 SSH 密钥,并根据需要配置他们的程序。
复杂的是,我不想 100% 相信他们保护密钥文件的能力。我宁愿在它仍然是假设的时候尽量减少妥协的潜在损害 - 并借此机会了解更多关于安全的信息。
有什么方法可以实现完全隔离和/或锁定的帐户?我可以允许 SSH 连接但拒绝终端访问吗?
我感谢任何帮助!
将密钥添加到authorized_keys
文件时,您可以通过多种选项来限制该密钥的功能。在这种情况下,您可以禁止运行任何命令。只需在它前面加上command=""
.
例如:
command="" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDc7nKsHpuC6W/U131p0yDh455sLE9pWmFxdK...
Run Code Online (Sandbox Code Playgroud)
当用户想要连接时,他们必须传递-N
到ssh
. 这告诉ssh
客户端不要尝试运行命令,而只是打开一个连接(如果已配置,则进行隧道连接)。如果客户端在没有 的情况下启动-N
,它将立即断开连接。
例如:
ssh -N -D 8080 host.example.com
Run Code Online (Sandbox Code Playgroud)