与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
> {
> “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"