安装capistrano作为ansible playbook时出现〜/ .ssh / id_rsa.pub错误

时间:2014-12-03 18:38:32

标签: wordpress capistrano ansible-playbook

我尝试安装https://github.com/roots/bedrock-ansible以使基础部署(http://roots.io/wordpress-stack/)运行。

当我跑“流浪汉”时,过了一段时间后我得到了错误:

TASK: [capistrano-setup | Setup deploy group] ********************************* 
skipping: [default]

TASK: [capistrano-setup | Setup deploy user] ********************************** 
skipping: [default]

TASK: [capistrano-setup | Adding public key to server] ************************ 
fatal: [default] => could not locate file in lookup: ~/.ssh/id_rsa.pub

FATAL: all hosts have already failed -- aborting

PLAY RECAP ******************************************************************** 
           to retry, use: --limit @/Users/johannes/site.retry

default                    : ok=46   changed=16   unreachable=1    failed=0   

Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

我没有clou如何解决这个问题。你有什么想法吗?

1 个答案:

答案 0 :(得分:1)

似乎该角色正在尝试查找您的本地公钥。它应该在错误消息'〜/ .ssh / id_rsa.pub'中的位置,但事实并非如此。所以要么你没有,要么把它放在另一个地方。

如果您不熟悉生成SSH密钥,则可能没有。我个人喜欢GitHub帮助页面:https://help.github.com/articles/generating-ssh-keys/ (您只需执行步骤1和2)。

如果你有SSH密钥,但在不同的位置,基岩中的capistrano-install角色使用了一些变量:

deploy_user: deploy
deploy_keys:
  - "~/.ssh/id_rsa.pub"

因此,您可以在deploy_keys列表中设置(多个)公钥文件,并将其添加到deploy_user的授权密钥中。

所有这些都是必需的,因为Capistrano稍后将使用部署用户连接到远程服务器。 http://blakesmith.me/2010/02/08/understanding-public-key-private-key-concepts.html