2017-07-12 970 views
0

我想每个授权密钥文件都有一个公共密钥。在sshd_config中提到“AuthorizedKeysFile”时,我们可以使用通配符来创建多个路径吗?

实施例:

在dir%H /的.ssh/

  • 对于人A,含有甲
  • 公钥对于人物B单独的文件A_authorized_key,含有单独的文件B_authorized_key公钥对于B

LS%H /的.ssh /会给:

  • A_authorized_key
  • B_authorized_key

我知道我们可以在authorized_keys文件写入公共密钥,它会像一个魅力,但由于某些原因,我想它是在单独的文件。

那么我们可以写AuthorizedKeysFile %h/.ssh/*

我们可以做到这一点吗?

回答

1

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

AuthorizedKeysFile

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

但是你可以创建一个脚本,这将挑选这些按键,让他们到ssh,将运行它AuthorizedPrincipalsCommandAuthorizedKeysCommandUser

AuthorizedPrincipalsCommand /path/to/script 
AuthorizedKeysCommandUser root 

和脚本可以看看像这样:

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

但请注意,您的通配符也符合用户的私钥以及当你触摸这些键是不是一个好主意。

相关问题