当用户尚无访问权限时,是否可以将其他用户的公共 ssh 密钥复制到远程服务器?

当用户尚无访问权限时,是否可以将其他用户的公共 ssh 密钥复制到远程服务器?

如何将其他用户的公共 ssh 密钥复制到远程服务器上的 ~/.ssh/authorized_keys 中?

我知道“ssh-copy-id”命令,但我认为它只在用户当前通过密码在远程计算机上正常访问时才有效。我可以使用 SCP 将文件复制到我自己的目录中,然后登录并将文件复制到用户目录中,但我希望有一种不涉及远程服务器上额外处理的方法。

  • 只允许 ssh 无密码登录(不允许任何用户使用密码登录
  • 目前,一个用户(我)拥有无密码登录访问权限,并拥有“sudo”权限
  • 假设其他用户没有“~/.ssh”目录

本地客户端:MacOs X

远程服务器:Debian

答案1

最好的办法是编写脚本。

默认情况下,有一个名为 sshd 的配置参数AuthorizedKeysFile设置为.ssh/authorized_keys .ssh/authorized_keys2

您可以创建用户特定的密钥是 /etc/sshd/authorized_keys.%u

例子: /etc/ssh/sshd_config

AuthorizedKeysFile /etc/ssh/authorized_keys.%u .ssh/authorized_keys .ssh/authorized_keys2

然后创建 /etc/ssh/authorize_keys.pyther。您需要将我的公钥放入文件中。当我登录时,我将使用我的私钥。

相关内容