在提及" AuthorizedKeysFile&在sshd_config中?

时间:2017-07-12 10:14:43

标签: ssh ssh-keys openssh sshd

我希望每个授权密钥文件都有一个公开。

示例:

在目录%h / .ssh /

  • 对于人员A,单独的文件A_authorized_key包含A
  • 的公钥
  • 对于B人,单独的文件B_authorized_key包含B
  • 的公钥

ls%h / .ssh /将给出:

  • A_authorized_key
  • B_authorized_key

我知道我们可以在authorized_keys文件中编写两个公钥,它会像魅力一样工作,但由于某种原因,我希望它在单独的文件中。

我们可以写AuthorizedKeysFile %h/.ssh/*吗?

我们能做到吗?

1 个答案:

答案 0 :(得分:1)

没有。您无法在AuthorizedKeysFile中使用通配符。您可以使用多个文件,但不能使用通配符。

  

AuthorizedKeysFile

     

指定包含用于用户身份验证的公钥的文件。 ...

但是你可以创建一个脚本,它会选择所有这些键并将它们提供给ssh,它将AuthorizedPrincipalsCommandAuthorizedKeysCommandUser运行:

AuthorizedPrincipalsCommand /path/to/script
AuthorizedKeysCommandUser root

,脚本可能如下所示:

#!/bin/bash
DIR="~${1}/.ssh/*"
cat `eval echo $DIR

但请注意,您的通配符也与用户的私钥相匹配,当您触摸这些键时,这绝不是一个好主意。