juju ssh 由于权限被拒绝(公钥)而失败

juju ssh 由于权限被拒绝(公钥)而失败

当我尝试使用 juju ssh 进入其中一台机器时,它返回一个错误

2012-12-06 14:16:16,695 INFO Connecting to environment...
2012-12-06 14:16:25,671 INFO Connected to environment.
2012-12-06 14:16:26,994 INFO Connecting to unit sqldb/0 at ec2-54-251-4-139.ap-southeast-1.compute.amazonaws.com

Permission denied (publickey).

我仍然可以 ssh 进入我之前(2 个月前)创建的节点。我不确定发生了什么。似乎 juju 出于某种原因没有将我的公钥复制到我添加的新节点。这是某种配置问题吗?

答案1

是的。我确实有这个。在配置文件中明确将授权密钥路径设置为 id_rsa.pub - 它又可以正常工作了。但它默认没有选择公共 ID。

不确定为什么会发生这种情况。

答案2

首先,您需要将 ssh 密钥添加到模式中。您可以使用以下方法执行此操作juju add-ssh-key

以下命令从~/.ssh/id_rsa.pub文件中添加您的公共 ssh 密钥。如果该文件不存在,则需要生成一个 ssh 密钥对。

juju add-ssh-key "$(cat ~/.ssh/id_rsa.pub)"

您也可以手动指定公钥:

juju add-ssh-key "ssh-rsa qYfS5LieM79HIOr535ret6xy
AAAAB3NzaC1yc2EAAAADAQA6fgBAAABAQCygc6Rc9XgHdhQqTJ
Wsoj+I3xGrOtk21xYtKijnhkGqItAHmrE5+VH6PY1rVIUXhpTg
pSkJsHLmhE29OhIpt6yr8vQSOChqYfS5LieM79HIOJEgJEzIqC
52rCYXLvr/BVkd6yr4IoM1vpb/n6u9o8v1a0VUGfc/J6tQAcPR
ExzjZUVsfjj8HdLtcFq4JLYC41miiJtHw4b3qYu7qm3vh4eCiK
1LqLncXnBCJfjj0pADXaL5OQ9dmD3aCbi8KFyOEs3UumPosgmh
VCAfjjHObWHwNQ/ZU2KrX1/lv/+lBChx2tJliqQpyYMiA3nrtS
jfqQgZfjVF5vz8LESQbGc6+vLcXZ9KQpuYDt joe@ubuntu"

添加密钥后,您将能够 ssh 到任何机器。

相关内容