与chef solo一起克隆私人git回购协议的问题

与chef solo一起克隆私人git回购协议的问题,git,ubuntu,ssh,chef-solo,knife-solo,Git,Ubuntu,Ssh,Chef Solo,Knife Solo,我正试图用厨师索洛拉私人吉特回购。我使用以下步骤创建我的设置 创建必要的数据包以加密私有ssh密钥 a。创建加密密钥文件 编辑器=vim刀单数据包创建机密 --机密文件= b。删除换行符并复制到剪贴板 选择cat~/.ssh/id|rsa | tr-d'\r\n'>pbcopy c。使用以下命令编辑文件: > { > “id”: “<app_name>”, > “private_key”: <Private key copied f

我正试图用厨师索洛拉私人吉特回购。我使用以下步骤创建我的设置

  • 创建必要的数据包以加密私有ssh密钥
  • a。创建加密密钥文件

    编辑器=vim刀单数据包创建机密 --机密文件=

    b。删除换行符并复制到剪贴板

    选择cat~/.ssh/id|rsa | tr-d'\r\n'>pbcopy

    c。使用以下命令编辑文件:

    >    { 
    >      “id”: “<app_name>”,
    >      “private_key”: <Private key copied from clipboard>    
         }
    
    attributes.rb文件包含以下内容

    default[:test][:base]  = "/home/ubuntu"  
    default[:test][:log_dir] = "/var/log/test"  
    default[:test][:loglevel]   = "info" 
    default[:test][:user]       = "ubuntu"  
    default[:test][:virtualenv] ="/home/ubuntu/environments/test"  
    default[:test][:deploy_repo] = "git@github.com:test/test.git"  
    default[:test][:deploy_branch] = "master"  
    default[:test][:deploy_dir] = "/srv/test"
    
    最后,当我运行以下命令时 “刀独奏引导ubuntu@”我观察到以下内容

    • 代码在运行“sync”操作时被卡住,并且永远不会完成 它
    • 在AWS实例上,将在中生成私钥id_rsa .ssh目录,但在执行ssh add ~/.ssh/id\u rsa时,它会询问 对于密码短语(即使原始ssh keygen命令没有 任何密码)
    • 在AWS实例上,执行手动git ls remote git@github.com:测试在本地计算机上成功时失败 默认情况下,身份验证守护程序未运行,因此如何启动它 自动地
    同样,上述所有情况都可能是由于私钥。但是,在比较远程计算机上解密的私钥内容时,会与本地私钥(未加密的原始密钥)匹配


    如果能够深入了解上述行为和潜在解决方案,那就太好了。

    出于好奇,您是如何将加密数据包的内容写入~/.ssh/id\u rsa的?在你复制它之后,它看起来是一样的吗?我是按照下面的方式写的```secrets=Chef::EncryptedDataBagItem.load(“secrets”,“”)文件“#{node[:][:base]}/.ssh/id\u rsa”执行内容机密[“id\u rsa”]所有者节点[:][:用户]组节点[:][:用户]mode 0600 end`除了id\u rsa文件没有新行之外,内容是相同的。那么听起来不错。我可能会尝试重新添加新行以进行检查,但我认为这不是问题所在。
    git "#{node[:test][:base]}/test" do
        repository "git@github.test/test.git"
        reference "master"
        action :sync
        destination node[:test][:base]
        user "#{node[:test][:user]}"
        group "#{node[:test][:user]}"
        ssh_wrapper "#{node[:test][:base]}/.ssh/git-ssh-wrapper.sh"
    end
    
    default[:test][:base]  = "/home/ubuntu"  
    default[:test][:log_dir] = "/var/log/test"  
    default[:test][:loglevel]   = "info" 
    default[:test][:user]       = "ubuntu"  
    default[:test][:virtualenv] ="/home/ubuntu/environments/test"  
    default[:test][:deploy_repo] = "git@github.com:test/test.git"  
    default[:test][:deploy_branch] = "master"  
    default[:test][:deploy_dir] = "/srv/test"