克隆私人git repo与chef-solo的问题

时间:2015-04-18 05:29:13

标签: git ubuntu ssh chef-solo knife-solo

我正在尝试使用chef-solo来拉私人git repo。我使用以下步骤创建我的设置。

  1. 创建必要的数据包以加密私人ssh密钥
  2. 一个。创建加密密钥文件

      编辑= vim刀独奏数据包创建秘密   --secret_file = ...

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

      

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

    ℃。使用

    编辑文件
    >    { 
    >      “id”: “<app_name>”,
    >      “private_key”: <Private key copied from clipboard>    
         }
    

    d。它正确创建数据包,我可以查看它

     - knife solo data bag show secrets <app_name>    
     - knife solo data bag show secrets <app_name> --secret-file  ~/.chef/encrypted_data_bag_secret
    
    1. ssh-wrapper引用私钥文件

        

      #!/ bin / sh exec ssh -o UserKnownHostsFile = / dev / null -o   StrictHostKeyChecking = no -i&#34; /home/ubuntu/.ssh/id_rsa" &#34; $ @&#34;

    2. 使用git资源,签出或克隆仓库

      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
      
    3. 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"
      

      最后,当我运行以下命令时 &#39;刀独奏引导ubuntu @&#39;我观察到以下情况。

      • 代码卡住,同时运行&#34;同步&#34;行动,永远不会完成 它。
      • 在AWS实例上,正在生成私钥id_rsa .ssh目录,但是当执行ssh-add~ / .ssh / id_rsa时它会问 用于密码短语(即使原始的ssh-keygen命令没有 任何密码)
      • 在AWS实例上,执行手动git ls remote git@github.com:测试在本地计算机上成功时失败了 默认情况下,身份验证守护程序未运行,因此如何启动它 自动?

      同样,以上所有都可能是由于私钥的原因。但是,比较远程计算机上的解密私钥内容与本地私钥(没有加密的原始密钥)匹配。

      了解上述行为和潜在解决方案会很棒。

0 个答案:

没有答案