部署 capistrano 部署的时候,能不能不用输入 github 的密码啊,appserver 的密码?

lihuazhang · 2012年02月29日 · 最后由 huacnlee 回复于 2014年01月09日 · 4085 次阅读

capistrano 部署的时候,能不能不用输入 github 的密码啊,appserver 的密码? set :scm_passphrase 不起作用。

把你的公钥放到上面去

default_run_options[:pty] = true set :ssh_options, {:forward_agent => true}

这个试了吗?

#1 楼 @lb563 公钥已经放到 github 上去了。

#2 楼 @_samqiu 用了这两个配置,还是要输入密码。好像 cap 不能完全不要输入密码?

#3 楼 @lihuazhang 放到你要部署的服务器上去,而不是 github,建议看文档

#5 楼 @geekontheway 我是部署在本机。比如我有 hostA,我在 hostA 上运行 cap,从 github 上 pull 代码,我的.ssh 里面已经有 id_rsa.pub。又或者 id_rsa.pub 应该放在哪个地方?

#6 楼 @lihuazhang 部署到本机?不需要部署。部署到服务器上时才会使用 capistrano,到时候才需要把你的公钥添加到服务器的 authorized_keys .

#7 楼 @geekontheway 诶,关键我就是要部署到本机。。。

#4 楼 @lihuazhang

需要输入一次密码 unlock 你的 private key

#9 楼 @_samqiu 如果是私钥有密码,应该可以用 ssh agent 具体怎么操作就不晓得了 http://mah.everybody.org/docs/ssh#run-ssh-agent

ssh agent +1

今天用另外台 linux,部署 mac 成功的不用输入密码了。。。真是奇怪。。。

$ ssh-agent $SHELL
$ ssh-add ~/.ssh/id_rsa
Identity added: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)
需要 登录 后方可回复, 如果你还没有账号请 注册新账号