我希望能够在两个单独的文件中指定密钥,一个由用户控制,另一个由工具自动生成。
我怎样才能使类似的文件~/.ssh/authorized_keys_generated
在登录时也检查密钥?
答案1
只需将新文件的名称附加到旧文件旁边即可。
AuthorizedKeysFile ~/.ssh/authorized_keys ~/.ssh/authorized_keys_generated
答案2
这不完全是你的问题,但你也可以使用AuthorizedKeysCommand
在 ssh 配置文件中。sshd
将以用户作为第一个参数启动命令,并且脚本的标准输出应该是匹配authorized_keys
格式的字符串。
您可以使用如下脚本:
#!/bin/bash
for file in /home/$1/.ssh/*.pub; do
cat $file;
done
这将呼应 中的公钥的所有文件~/.ssh
,并授予其中每个密钥的访问权限。
但它还有更多功能,AuthorizedKeysCommand
例如,可以用来调用授权服务器,根据您的业务逻辑授予访问权限。这是一个强大的工具。