IT序号网

shell之基于 SSH key 限制访问

qlqwjy 2025年05月04日 编程语言 140 0

比如说,我在我的远程服务器 storage 上有一个帐户,用户可以从中上传和下载数据。我将允许用户的 SSH key 手动添加到 /home/storage/.ssh/authorized_keys。现在,我有两个使用不同 SSH 公钥的用户,Watson 和 Sherlock。

如何确保 Watson 无法上传到 Sherlocks 私有(private)图库或从中下载?是否可以根据用于身份验证的 SSH key 定义文件/文件夹权限?

我想到了一个受限的 shell 程序,它被设置为 storage 用户的 shell。但是这个受限制的 shell 如何找出使用了什么 SSH key ?

请您参考如下方法:

您可以尝试使用 /home/storage/.ssh/authorized_keys 文件中的 command 选项,使用受限的 shell,如下所示:

command="cd /home/storage/watson && rbash" ssh-rsa AAAAB3...2Z <- watson's public key 
command="cd /home/storage/sherlock && rbash" ssh-rsa AAAAB4...R5 <- sherlock's public key 

现在,用户将根据使用的私钥在子目录中获得受限 shell。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!