好的,所以我在运行在Ubuntu 14.04.3 LTS服务器上的Phabricator LEMP堆栈上设置Git存储库主机时遇到了麻烦。
我遵循了Diffusion托管存储库指南,我可以添加新的托管存储库,并且可以通过查找git库文件和设置存储库来成功处理所有存储库。
现在我有phd用户 www-data , www-data 拥有的整个Phabricator目录,以及/ var / repo,其中托管的git存储库归 WWW的数据
我还将扩散ssh-user作为 vcs-user 。
在/ etc / passwd我有:
VCS-用户:X:110:65534 :: /家庭/ VCS-用户:/斌/庆典
在/ etc / sudoers中我有:
vcs-user ALL =(www-data)SETENV:NOPASSWD:/ usr / bin / git-upload-pack,/ usr / bin / git-receive-pack
在/ etc / shadow我有:
VCS-用户:NP:16779:0:99999:7 :::
我在端口222上有对服务器的主登录。然后我使用Phabricator挂钩文件在端口22上运行另一个sshd实例来运行git ssh clone / pull / push操作。
当我尝试克隆时,我收到此错误:
var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
var RoleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
string role = "Admin";
string password = "Password@1234";
//Create Role Admin if it does not exist
if (!RoleManager.RoleExists(role))
{
var roleresult = RoleManager.Create(new IdentityRole(role));
}
//Create Admin users with password=123456
var admin1 = new ApplicationUser();
admin1.UserName = "admin1@admin1.com";
admin1.Email = "admin1@admin1.com";
admin1.EmailConfirmed = true;
UserManager.Create(admin1, password);
UserManager.AddToRole(admin1.Id, role);
context.SaveChanges();
当我尝试在ssh连接中运行第二个实例的ssh查询时,我得到了:
C:\git clone ssh://vcs-user@xxx.xxx.xxx/diffusion/repo/project.git
Cloning into 'V4'...
ssh: connect to host 10.1.1.184 port 22: Connection refused
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
以3级调试模式运行sshd实例的输出:
~$ echo {} | ssh -p 22 vcs-user@localhost conduit conduit.ping
Permission denied (publickey,keyboard-interactive).