我们公司有一台锁定版本的 Linux 服务器(用户自定义 shell,无法直接访问)。我目前正在向用户推送更新,但让用户自己拉取更新更为理想。
每个设备都有一个序列号,可能用作登录更新服务器的一部分。
我想要有多个渠道/分支(无论它们应该被称为什么),例如 MAIN 和 DEV。
对于这种情况哪种协议最好?FTP 更容易限制目录访问,以防有人获取完整的登录信息。SCP 会更好,因为我想确保传输安全,但我更喜欢只读并限制在目录中。这可以用 SCP 完成吗?
用户名/密码应该是什么?我猜测对于 SCP,序列号可以是用户名,而不是密码,而是为用户生成密钥。
答案1
不要使用用户名/密码方案。
使用 SSH 密钥。这可为您带来以下优势:
- 可以使用 SCP(或 rsync 获得更多控制!)
- 可以使用一个帐户进行所有登录,仅通过登录所用的密钥进行区分
- 可以通过从 authorized_keys 中删除密钥来轻松撤销密钥
答案2
使用 SCP/SFTP,每个用户都可以下载他们可以看到的内容。因此,如果用户帐户只被授予其主目录中的读取权限(该主目录中有一个指向他们应该查看的分支的符号链接),那么他们就可以看到并能够获得这些内容。
通过以用户身份登录并尝试访问less
您想要保护的文件来进行测试。如果您的权限设置正确,您将无法访问。
用户名/密码当然可以是您建议的。不过,请记住,如果密钥被盗用,要有某种方式更新设备上的密钥。