向现有液滴添加新的 ssh 密钥时,DigitalOcean 权限被拒绝(公钥)?
Posted
技术标签:
【中文标题】向现有液滴添加新的 ssh 密钥时,DigitalOcean 权限被拒绝(公钥)?【英文标题】:DigitalOcean Permission denied (publickey) when adding new ssh keys to an existing droplet? 【发布时间】:2021-10-15 01:04:54 【问题描述】:向 Digital Ocean Ubuntu VM 上的现有 droplet 添加新的 ssh 密钥时遇到问题。 SSH 密钥是通过浏览器通过Digial Ocean 门户添加的。
当第一次从本地 Ubuntu 机器添加 SSH 密钥时,它工作正常。
下次尝试从 MacOS 机器添加 SSH,即使成功添加了第二个 SSH 密钥也无法登录,并且不断收到 Permission denied (publickey)
错误。
在远程Ubuntu droplet上查看nano /etc/ssh/sshd_config
可以看到PubkeyAuthenthication yes
【问题讨论】:
【参考方案1】:添加第二个 SSH 密钥时,Digital Ocean 门户网站似乎存在问题。门户显示有 2 个 SSH 密钥 (Settings\Security\SSH keys
)。
但是,检查 authorized_keys
文件 (nano .ssh/authorized_keys
),只有第一个 SSH 密钥存在,第二个 SSH 密钥没有找到。
解决方法是登录 Ubuntu 服务器/droplet(在我的情况下使用工作的本地 Ubuntu 机器),然后手动将第二个 SSH 密钥(用于 MacOS 机器)添加到 authorized_keys
文件。
服务器/Droplet Ubuntu:
nano .ssh/authorized_key
MacOS 本地机器:
cat .ssh/id_ed25519.pub
(我在本例中使用了 ed25519 类型,更改为您的 pub 密钥)。
将 SSH 发布密钥粘贴到 authorized_key
文件。
在 Ubuntu 服务器/droplet 上重新加载 ssh:systemctl reload ssh
【讨论】:
这正是我为解决这个问题所做的。我有 4 个 SSH 密钥。通过控制面板添加了 3 个,通过 GitLab 添加了 1 个。我无法使用控制面板添加第 5 个 SSH 密钥。我不得不手动编辑authorized_keys 文件。我通过工单向 Digital Ocean 报告了该问题。以上是关于向现有液滴添加新的 ssh 密钥时,DigitalOcean 权限被拒绝(公钥)?的主要内容,如果未能解决你的问题,请参考以下文章