我尝试安装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如何解决这个问题。你有什么想法吗?
答案 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