您可以在登录时将公共 SSH ID 复制到授权密钥,而无需“ssh-copy-id”或手动将密钥粘贴到授权密钥服务器端吗?

您可以在登录时将公共 SSH ID 复制到授权密钥,而无需“ssh-copy-id”或手动将密钥粘贴到授权密钥服务器端吗?

除了使用ssh-copy-id客户端或手动将密钥粘贴到授权密钥服务器端之外,是否有一种方法可以在您使用密码登录 SSH 后自动添加密钥?

假设您尝试登录时您的公钥已经被发送,那么有没有办法告诉 SSHD 守护进程将密钥添加到授权密钥中?

答案1

不。

当您使用密码登录时,您的私人 SSH 密钥不会被使用(即:即使您没有私钥,您也可以使用密码验证登录)。

因此没有可供服务器使用的公钥。

答案2

无需使用命令即可将您的公钥添加到服务器ssh-copy-id

方法 1(这将覆盖原始文件但可以完成工作):

scp $HOME/.ssh/id_rsa.pub [email protected]:~/.ssh/authorized_keys

方法 2(这基本上就是 copy-ssh-id 命令所做的):

ssh [email protected] 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

编辑:我错过了问题中操作员已登录服务器的部分,但问题询问了不使用命令ssh-copy-id。如果您没有copy-ssh-id本地可用的命令(如嵌入式系统或路由器),则可以使用这两种方法。

相关内容