繁体   English   中英

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

[英]issue with cloning private git repo with chef-solo

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

  1. 创建必要的数据包以加密ssh私钥

一种。 创建加密的密钥文件

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

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

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

C。 使用编辑文件

>    { 
>      “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 =否-i“ /home/ubuntu/.ssh/id_rsa”“ $ @”

  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 

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

最后,当我运行以下命令“ knife solo bootstrap ubuntu @”时,我观察到以下内容。

  • 代码在运行“同步”操作时被卡住,从不完成。
  • 在AWS实例上,私钥id_rsa在.ssh目录中生成,但是在执行ssh-add〜/ .ssh / id_rsa时,它会要求输入密码(即使原始ssh-keygen命令没有任何密码)
  • 在AWS实例上,在本地计算机上成功执行手动git ls remote git@github.com:test会失败。默认情况下,身份验证守护程序未运行,那么如何自动启动它?

同样,以上所有原因可能是由于私钥这一事实。 但是,在比较远程机器上解密的私钥内容时,它与本地私钥(未经加密的原始密钥)匹配。

深入了解上述行为和可能的解决方案将是很棒的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM