Win平台GitExtention使用OpenSSH连接Git服务器设置

来源:互联网 发布:淘宝商家怎么刷信誉 编辑:程序博客网 时间:2024/06/07 16:30

设置

1. 运行:ssh-keygen -t rsa,生成密钥文件id_rsa.pub和id_rsa;

2. 密钥文件id_rsa.pub和id_rsa拷贝到C:\Users\<用户名>.ssh\目录下;

3. ssh目录下新建文件config,输入内容:

Host <服务器IP>User <服务器用户>port <服务器SSH端口,默认22>IdentityFile  C:/Users/<用户名>/.ssh/id_rsa

4.克隆gitolite管理仓库,注意只有gitolite管理员账户有权限访问管理仓库,也就是说只有使用管理员密钥的客户端可以访问gitolite管理仓库;

5.将id_rsa.pub文件加入管理仓库keydir目录,然后提交服务器;

6.GitExtention设置里面更改SSH类型为OpenSSH。

问题

1.OpenSSH连接服务器失败。

  • Git命令行模式下,使用如下命令显示详细的登录信息。
$ssh -v <服务器用户>@<服务器IP>
  • 错误信息:key type ssh-dss not in PubkeyAcceptedKeyTypes
原   因:OpenSSH 7.0以上版本默认不支持ssh-dss密钥。解决方法一:使用rsa参数生成密钥,而不是dss。解决方法二:客户端机器~/.ssh/config里面添加PubkeyAcceptedKeyTypes=+ssh-dss。如果服务器端为7.0以上版本,则/etc/ssh/sshd_config也需要添加PubkeyAcceptedKeyTypes=+ssh-dss

2.gitolite管理员密钥丢失

  • 登录服务器,将新用户的公钥拷贝到服务器,并改名为新用户名(gitolite默认使用公钥文件名作为用户名,例:admin.pub);

  • 运行如下命令将新用户公钥手动加入gitolite公钥库

~/bin/gitolite setup -pk ~/admin.pub
  • 进入gitolite管理仓库对应目录,一般是repositories/gitolite-admin.git目录下,手动编辑gl-conf,更改管理仓库访问用户名为新的用户名。
0 0
原创粉丝点击