在Ansible中加载SSH_Keys以运行SVN SSH



我需要使用svn ssh编写任务才能结帐。

这是我能够手动做到完美效果

的方式
ssh-add /home/my_user/.ssh/id_rsa
svn co svn+ssh://svnserver/repo/src /path/to/checkout

但是,使用以下任务似乎是失败的,因为我的密钥未加载

- name: Checkout code
  subversion:
   repo: svn+ssh://svnserver/repo/src
   dest: /path/to/checkout
  become_user: my_user
  become: no

手动加载密钥后运行SSH -ADD -L时,我确实看到我的键已加载。但是,Ansible在运行颠覆任务时似乎并没有加载我的钥匙,这导致任务失败以下。

Unable to connect to a repository at URL 'svn+ssh:/svnserver/repo/src

任何想法如何运行此操作,以便在运行任务时加载我的用户密钥?

我有一种强烈的感觉,您的手册ssh-add将SSH键添加到>您的 uders的代理中,因此在 you >中运行svn co svn+ssh://svnserver/repo/src /path/to/checkout登录将有效,但是对于Ansible,您将任务运行为 my_user ( become_user: my_user(,对于 my_user ,您尚未添加私有密钥。

您可以查看它是否有助于切换到my_user,然后执行ssh-add命令?

但是,老实说,我不是SSH-Agent的忠实拥护者。我发现拥有并依靠自己的SSH配置文件更透明。

最新更新