Ansible 中基于 SSH 的 GIT 挂起,即使设置了 ssh-agent 转发

标签 git ssh timeout ansible ssh-agent

我已经设置了所有我能找到的东西,但仍然从 GitHub 克隆一个存储库挂起配置过程。

我有:

  • known_hosts 中的服务器
  • .ssh/配置

    Host github.com
      ForwardAgent yes
      StrictHostKeyChecking no
    
  • 复制私钥

  • 公钥在 authorized_keys 中
  • 命令以 vagrant 用户身份运行
  • 剧本是:

    - name: Checkout from git
      git: repo=git@github.com:username/repositoryname.git dest=/srv/website
    

最佳答案

只是为了扩展 tillda 的答案,该配置可以与您的剧本一起放在 ansible.cfg 文件中。例如:

ansible.cfg

[defaults]
transport = ssh

[ssh_connection]
ssh_args = -o ForwardAgent=yes

我想说这样做比设置为环境变量更好,因为将它放在 conf 文件中既更具声明性,也可以最大程度地减少与您一起工作的其他人进行项目所需的步骤.

session 文件: http://docs.ansible.com/intro_configuration.html#the-ansible-configuration-file

示例配置文件: https://raw.github.com/ansible/ansible/devel/examples/ansible.cfg

关于Ansible 中基于 SSH 的 GIT 挂起,即使设置了 ssh-agent 转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21427577/

相关文章:

如果起源/开发不同步,git flow 功能完成不会推送

hadoop - Hadoop:无密码SSH错误

git - 列出远程分支 - git branch -a vs git ls-remote --heads origin

git - 将 Git 用于客户的软件

ssh - AWS EC2公钥突然被拒绝

hibernate - 如何为 EJB 方法设置超时(在无状态 bean 中)

sql - SSDT 发布超时

apache - 保持 HTTP 连接的正确超时值

macos - 在不同的 Mac 上使用 SSH key

mysql - 在 OSX 上通过 SSH 隧道连接到 MySQL 时出错