我是否应该为使用无密码 ssh 密钥的备份脚本创建一个单独的用户?

我是否应该为使用无密码 ssh 密钥的备份脚本创建一个单独的用户?

我目前有一个通过 cron 运行的备份脚本。它基本上是几个串联在一起的 rsync 命令。

对于我的主要 shell 登录,我有带密码的 ssh 密钥,但由于脚本的自动化特性,它使用没有密码的密钥。据我了解,任何获得此无密码密钥访问权限的人都将拥有与我通过带密码的密钥登录时相同的访问权限。

那么我是否应该创建一个仅运行脚本的新用户?如果是这样,是否可以限制该用户只能运行 cron 作业或某些命令?

答案1

您可以限制使用特定 SSH 密钥可以执行的操作,因此如果您可以将密钥限制为最低限度,则使用同一用户应该相当安全。然而,最安全的选择是同时实现这两个选项 ;-)

sshdmanpage 中有详细信息,但以下行~/.ssh/authorized_keys仅允许执行指定的命令,并禁止其他操作(如端口转发)。它还限制来自特定 IP 子网的客户端的访问。

command="/usr/local/bin/dobackup",from="1.2.3.0/24",no-pty,no-port-forwarding,no-agent-forwarding,no-X11-forwarding ssh-rsa AAAA...== [email protected]

相关内容