本文将详细介绍如何在centos7上部署属于自己的git服务器
服务端配置
1.安装 Git
1 | yum –y install git |
2.创建 Git 的专属管理账户和密码
1.创建 Git 账户:
1 | adduser git |
2.设置 Git 账户的密码:
1 | passwd git |
3.创建git仓库
1 | su git |
4.配置账户免密码登录
1.创建 ssh 的默认目录
1 | cd /home/git |
2.创建校验公钥的配置文件
1 | cd /home/git/.ssh |
5.禁止客户端 shell 登录
注意:如果 git 客户端可以直接通过 shell 使用 git 账户来远程登录服务器,这样是不安全的
1 | su git |
找到
1 | git:x:1000:1000::/home/git:/bin/bash |
其中1000可能为其他数字,然后将原来的那一行注释,然后复制一行出来改成
1 | git:x:1000:1000::/home/git:/bin/git-shell |
修改完后退出保存: esc
进入命令模式, 输入::wq!
保存退出。
PS:禁用后无法通过shell去登录git账号创建仓库,需要用root账号进行以下步骤:
1 | mkdir test.git && cd test.git |
客户端
同一服务器上使用(以下均用root用户创建)
1.设置用户名和邮箱
1 | git config --global user.name "client_username" |
2.创建ssh keys
1 | cd ~/.ssh |
碰到需要输入的地方直接按回车键,最后等待创建成功
3.将生成的文件复制到 git 目录下
1 | cp /root/.ssh/id_rsa.pub /home/git/.ssh/test.pub |
4.将 test.pub
文件中的内容追加到 authorized_keys
中
1 | cd /home/git/.ssh |
5.使用
1 | cd ~ |
到此即可自行添加文件并push测试
window下使用
1.安装 Windows 版 Git 工具(请下载后请自行安装,这里不作赘述,下载地址)
2.客户端配置
1 | git config --global user.name "client_username" |
3.在路径C:\Users\您的用户名
下创建.ssh
文件夹,如果原来已存在则不需要
4.创建私钥(同服务端)
1 | ssh-keygen -t rsa -C "[email protected]" |
5.手动将公钥添加到服务器中,可用以下命令
1 | scp ./id_rsa.pub root@你的ip地址:/home/git/.ssh/pc.pub |
6.登录服务器,将刚上传的 pc.pub
文件中的内容追加到 authorized_keys
中
1 | cd /home/git/.ssh |
7.使用
7.1 安装TortoiseGit
下载地址
7.2 安装完毕后clone,地址填git@ip地址:/home/git/test.git
即可,如果提示需要密码则进行以下操作
8.配置TortoiseGit
8.1 打开C:\Users\您的用户名\.ssh
8.2 复制私钥文件id_rsa
,将复制的文件的文件名改为id_rsa.ppk
。
8.3 打开TortoiseGit的安装目录,找到puttygen.exe,双击运行。
8.4 点击Load,加载刚才复制的id_rsa.ppk
文件,点击确定。
8.5 Load完毕后点击Save private key
,弹窗选择是,将私钥保存为TortoiseGit.ppk
。
8.6 在项目目录下,右键选择TortoiseGit(T)-->设置
,打开设置界面。
8.7 选中git下的Remote(远端)->选泽origin->Putty Key(Putty 密钥)选中刚刚保存的TortoiseGit.ppk
,应用并确定即可
这时候pull或者push都不会再要求输入密码了