Win10搭建Git服务器
软件及环境
Win10专业版
Git 2.13.3-X64
Copssh 4.1.0
搭建过程
安装Git
所有的安装选项维持默认即可,建议不要安装到Program Files文件夹。
安装Copssh
- 建议安装路径不要安装到Program Files文件夹
- 安装的时候会创建一个windows账户,建议自定义。到时候在传代码的时候会用到
- 会安装一个openssh服务,点击确定
- 安装完成
配置Copssh
- 在开始菜单中找到 COPSSH Control Panel 打开,点击Users栏,按图中添加CopSSH用户(此用户就是安装时候添加的那个)。
将Git安装目录下C:\Git\mingw64\bin中的git.exe、git-receive-pack.exe、git-upload-archive.exe、git-upload-pack.exe、libiconv-2.dll五个文件拷贝到Copssh安装目录bin文件夹中
打开Copssh安装路径下etc/profile文件。在最后追加四行命令(注意:前三行命令中的/cygdrive后面换成你的路径)
1 | gitpath='/cygdrive/e/Git/mingw64/bin' |
服务端配置Git
将下面三个路径添加到环境变量path中,注意替换成你的路径
1 | C:\Git\mingw64\bin |
客户端配置Git
- 配置git名称和邮箱,注意邮箱和名字替换成你自己的
1 | git config --global user.email "mrtantan@gmail.com" |
此时你就可以用密码登录了,如果你还想实现免密登录(公钥登录),就往下看吧
- 通过下面命令生成公私钥,邮箱就是上一步设置的邮箱,连续按三次空格就行
1 | ssh-keygen -t rsa -C "youremail@example.com" |
公钥登录
在服务端的copssh安装目录下面的home\你创建的用户.ssh 文件夹下面新建authorized_keys文件,注意没有扩展名
把客户端生成的公钥文件复制到上一步的authorized_keys文件里面(公钥文件是 C:\Users\当前用户名.ssh 文件夹下的 .pub格式文件。直接用文本编辑器打开复制里面的内容到authorized_keys文件,如果添加多个请换行)
关于下面这个选项,如果未选中的话,必须要有公钥才可以登录,不可以用密码登录。如果选中的话,会首先验证公钥,没有公钥在验证密码。
- 现在你就可以用公钥登录了。
遇到的2个坑
- 执行 git clone 时候会出现下面情况
1 | $ git clone git@1xx.2xx.3xx.2xx:/xxx/sample.git |
问题原因:
服务端发生变化,加密的密钥改变,造成本地保存的密钥失败。
解决方案:
删除 C:\Users\当前用户名.ssh\known_hosts 文件中指定ip的密钥即可。
- 设置好公钥登录,出现permission denied
解决方法:
把安装copssh时候创建的用户删掉,然后再重新创建一个同名的账户,然后删掉copssh里面那个账户,在重新添加一遍。最后务必重启服务!注:重新添加的这个root账户必须设置隶属于administrator才可以。不然克隆项目会提示没有相关权限!!!