首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >向新帐户添加SSH公钥,而不启用密码身份验证

向新帐户添加SSH公钥,而不启用密码身份验证
EN

Server Fault用户
提问于 2015-01-29 13:27:31
回答 2查看 173关注 0票数 1

在SSH服务器上,我有以下(截断)配置:

代码语言:javascript
运行
复制
PubkeyAuthentication yes
PasswordAuthentication yes

在我的客户端,我有一个密钥对,并且在服务器上添加了我的公钥:

代码语言:javascript
运行
复制
ssh-copy-id <my-server>

现在,如果我将PasswordAuthentication选项更改为no,连接到SSH服务器的唯一方法将是验证密钥,对吗?

然后,如果我想添加一个新客户端,我需要:

  • 从已授权的客户端临时启用PasswordAuthentication选项,并从新客户端使用ssh-copy-id
  • 或从已授权的客户端复制/粘贴新客户端的公钥到服务器的~/.ssh/authorized_keys中。

但我觉得这些方法很无聊。

问:是否有更简单的方法向服务器上的~/.ssh/authorized_keys文件添加新密钥?

EN

回答 2

Server Fault用户

发布于 2015-01-29 13:59:09

您可以像系统上的任何其他文件一样修改新用户的authorized_keys文件。您不需要使用用户的帐户执行此操作。任何对该文件具有写访问权限的帐户都可以。也就是说,通常是root帐户(或sudo)。

ssh-copy-id只是通过为您创建具有正确权限的所有文件夹和文件来简化此过程。手动执行此操作时,需要确保所有这些都由您自己完成。

票数 2
EN

Server Fault用户

发布于 2015-01-29 13:57:45

从根本上说,你们每个问题的答案都是肯定的。不管你是否觉得这个方法“无聊”,它是允许访问一个新客户端的一种公认的方式。

添加新密钥的另一种可能方法是使用现有客户端将公钥的内容从新客户端复制并粘贴到目标计算机上的用户的~/.ssh/authorized_keys文件中--确保正确设置权限和所有权。这就省去了暂时允许使用密码进行身份验证的需要(无论如何,需要将密码转发给试图执行ssh-copy-id操作的用户)。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/663390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档