我想通过 ssh 访问远程服务器,该服务器已将授权密钥的位置设置为/path/to/ssh/authorized_keys.%u
。
现在我想知道如何按照该命名约定在该位置ssh-copy-id
创建一个文件。authorized_keys
我试过了ssh-copy-id -i /path/to/id_rsa.pub username@[ip-addresse] -o /path/to/ssh/authorized_key.username
但是出现了错误:
ERROR: command-line: line 0: Bad configuration option: /path/to/ssh/authorized_keys.username
写这篇文章时,我想知道 scp 是否可以提供解决方案(但无法具体说明如何提供)。
有人可以帮忙吗?
答案1
ssh-copy-id
无法将公钥安装到用户提供的文件。.ssh/authorized_keys
(或/etc/dropbear/authorized_keys
用于 dropbear 服务器)。您可以提供一个选项来允许用户提供此信息,但这种补丁要被上游和下游接受还需要一段时间。
当用户authorized_keys
在本地拥有完整的密钥时,他们可以使用 上传密钥sftp
。如果他们不知道所需的所有密钥,则用处不大,如果遗漏了一些密钥,则可能会将某人拒之门外。
或者,配置 sshd,这样用户就不需要将密钥上传到每个主机。考虑AuthorizedKeysCommand
从某个系统查找密钥,无论是花哨的 FreeIPA 还是更简单的系统,比如从某个 Web 服务器下载。