当我尝试使用 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 到任何机器。