我最近在我的Ubuntu上安装了专用的Gitlab服务器。
Webapp工作正常,在安装过程中没有问题(在生产环境之前在VM上testing)
我从我的帐户上的web应用程序中提取了我的ssh rsa私钥,并创build了一个项目,从另一个存储库复制。
从我的桌面环境,我试图用SSH SSH混帐。 首先login,我不得不接受SSH指纹,然后,直到现在服务器不断要求我login作为git用户,它没有密码。
D:/drive/project> git pull git@0.0.0.0:me/project.git git@0.0.0.0's password: Connection closed by 0.0.0.0 fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. D:\skydrive\artmoser>git pull git@0.0.0.0's password: [tried to type something] Permission denied, please try again. git@0.0.0.0's password: Permission denied, please try again. git@0.0.0.0's password: ^C
我在Windows下的SSH公钥和私钥在C:\ Users \ Jack Bauer.ssh在专用服务器上,我可以在/home/git/.ssh/authorized_keys中看到我的密钥
我已经检查了我的用户git的chmod:
drwx--x--x 7 git git 4096 mai 31 05:06 git/ drwx------ 2 git git 4096 juin 1 03:27 git/.ssh/ -rw------- 1 git git 508 juin 1 02:53 git/.ssh/authorized_keys
我究竟做错了什么 ?
编辑
经过更多的研究:
如果我用腻子用git用户login,我收到这个错误信息server refused to allocate pty
如果我尝试做ssh git@0.0.0.0
,他们要求我的密码,在git用户密码(它没有)之前3次,
如果我用ssh git@0.0.0.0 -Tvvv
做了一个ssh隧道,我在日志结尾得到了这个errror
debug1: Next authentication method: publickey debug1: Trying private key: /home/me/.ssh/id_rsa debug1: key_parse_private2: missing begin marker debug1: key_parse_private_pem: PEM_read_PrivateKey failed debug1: read PEM private key done: type <unknown> Enter passphrase for key '/home/me/.ssh/id_rsa':
公钥在我的电脑上,私人在服务器上,
如果你想用ssh访问服务器,你的客户端(这里是你的Windows工作站)必须至少有私钥(最好把公钥与他们私钥对应起来)。
C:\Users\Jack Bauer\.ssh\id_rsa.pub C:\Users\Jack Bauer\.ssh\id_rsa
如果你的密钥没有遵循这个默认的命名约定,你需要一个C:\Users\Jack Bauer\.ssh\config
文件(如图所示 )
确保你的Windows环境变量中的HOME
环境变量设置为C:\Users\Jack Bauer
, 如果你启动了git-cmd.exe
)