我有两个linux用户
- user1 - 身份验证密钥存储在的常规帐户
/home/user1/.ssh/
- user2 - 没有主目录的服务帐户
user2如何访问user1的密钥来连接到远程服务器?有什么方法可以使用两个用户之间的共享文件夹访问密钥吗?
答案1
没有主目录的服务帐户
真的吗?这很不寻常。 /etc/passwd 中没有主目录或者入口指向不存在的路径?
虽然服务帐户可以在没有主目录的情况下使用 ssh 密钥 (ssh -i /path/to/key user@host),但只需添加一个主目录,您的生活就会简单得多。
然后有很多方法,但我想我会为每个指向共享目录的用户使用 ~/.ssh/config :
host *
user sshusername
IdentityFile /path/to/id_ecdsa
答案2
这看起来是个坏主意:
建议每个用户都有自己的密钥,并且将相应的公钥放在目标 user@destination:.ssh/authorized_keys 文件中(使用正确的注释来记住它是谁的公钥):这样,如果“user2”离开公司可以删除公钥(通过删除公钥条目并删除私钥),而不会妨碍“user1”
但是,如果经过仔细考虑和询问公司中具有安全意识的人员后,仍然认为这是可行的方法,那么您可以简单地让管理员帐户在 user2/.ssh/ 内创建 user1 密钥的硬链接。 ..但我强烈建议不要这样做。
或者,如果“user2”具有对 ~user1/.ssh 目录及其内容的读取访问权限(为此使用适当的组?):只需执行以下操作:
ssh -i ~user1/.ssh/thekey remoteuser@remotedestination