我正在使用 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 虽然得到了与我开始时相同的错误.....
谢谢你的帮助