0

我正在使用 Sinatra、Vlad the Deployer 和 Gitolite 尝试将测试站点部署到我的服务器。我的 gitolite 安装在管理/创建存储库、推送和克隆等方面运行良好,但是当我尝试通过 Vlad 部署到我的服务器时,我不断收到权限被拒绝错误

$ rake vlad:update

返回

rake aborted!
execution failed with status 1:ssh mysite.com unmask 02 && cd ..........

我的 vlad deploy.rb 文件看起来像这样

#deploy.rb

set :application, "mysite.com/sample-site"
set :user,        "me"
set :repository, "git@mysite.com:sample-site.git"
set :domain, "mysite.com"
set :deploy_to, "~/sites/#{application}"

我认为正在发生的事情是,一些名为“git”的 gitolite 用户试图从它所在的服务器克隆 repo,但没有适当的权限。我想我可能会为用户 git 创建一个新的 rsa 对,然后将其添加到我的 gitolite keydir 中的用户列表中,但是通过 gitolite 安装,您无法再使用“PTY 0 错误”进行 ssh,这似乎是普通的。

当我尝试将存储库从服务器克隆到自身时,即 git clone as me 从服务器上的存储库中,我会被要求输入 git@mysite 的密码,因此我尝试将客户端 id_rsa 和 id_rsa.pub 复制到我的服务器然后将 me@mysite 添加为我的客户端 gitolite-admin.conf 中的另一个用户。当我推送该更新时,它一直给我一个错误

Writing objects: 100% (4/4), 378 bytes, done.
Total 4 (delta 2), reused 0 (delta 0)
remote: WARNING: a pubkey file can only have one line (key); ignoring jon@mysite.com.pub
remote:          Perhaps you're using a key in a different format (like putty/plink)?
remote:          If so, please convert it to openssh format using 'ssh-keygen -i'.
remote:          If you want to add multiple public keys for a single user, use
remote:          "user@host.pub" file names.  See the "one user, many keys"
remote:          section in doc/3-faq-tips-etc.mkd for details.
remote: 
remote:         ***** WARNING *****
remote:         the following users (pubkey files in parens) do not appear in any access rules:
remote: jon@mysite.com(jon@mysite.com.pub)
remote: 
remote:         ***** WARNING *****
remote:         the following users have no pubkeys:
remote: jon@mysite

我最初尝试使用 me@site.com.pub 添加我的新服务器用户,但后来认为切换到 me@mysite.pub 更干净,可能会解决一些问题。现在,即使在删除和/或将密钥本身中的所有内容和密钥名称重命名为 me@mysite.pub 之后,我也有一些工件

所以我现在的位置是我可以在以我身份登录时从服务器克隆,但它每次都要求我输入 id_rsa 密码。当我输入它时,我可以下载。我的 rake vlad:update 虽然得到了与我开始时相同的错误.....

谢谢你的帮助

4

1 回答 1

0

我不能专门评论 vlad 部署程序,但您不需要对 git 帐户的密钥做任何事情。您需要为运行进程的用户设置密钥。这似乎是“用户”?因此,您需要为该机器上的用户生成一个 rsa 并专门添加 pub 密钥。

您在问题末尾看到的错误是 gitolite 在您的 keydir 中看到的键与您的配置文件中的条目不匹配。keydir 中的所有内容都需要以 .pub 结尾,并且您在没有 .pub 的 conf 中引用它

于 2012-02-05T17:01:06.340 回答