Setup Git Server in CentOS 6.3
0. Environment:
Server machine: CentOS 6.3 x86
Client machine: Windows 10 Pro x86_64
1. Install ssh server
[server machine shell]
#yum install openssh openssh-server
#chkconfig sshd on
#/etc/init.d/sshd start
2. Create user git
[server machine shell]
#useradd git
#passwd git
3. Create an empty repository
[server machine shell]
#cd /home/git
#git init --bare sample.git
#chown -R git:git sample.git
4. Conifigure ssh client in client machine
Download Git for Windows from https://git-for-windows.github.io/
Direct link(for 64bit system): https://github.com/git-for-windows/git/releases/download/v2.6.1.windows.1/Git-2.6.1-64-bit.exe
Install it to default location(C:\Program Files\Git), add C:\Program Files\Git\usr\bin to system environment PATH
Adding C:\Program Files\Git\usr\bin to PATH to enable command ssh and ssh-keygen in cmd.exe
Replace the email address with yours to generate public & private ssh keys
[client machine cmd]
>ssh-keygen -t rsa -C "my_email@hotmail.com"
Press Enter three times to accept default setting, sample output
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/<your account name>/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/<your account name>/.ssh/id_rsa.
Your public key has been saved in /c/Users/<your account name>/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:+GR+6jWy7FtN3hFBszUCq08nk3fzlIBPzI0AbTkwOo4 my_email@hotmail.com
The key's randomart image is:
+---[RSA 2048]----+
| ++ooo+..|
| . .=* +=.|
| o .o.*o. |
| o.. . + ...|
| E..S. =.+.+.|
| = o+=..oo|
| + =.o . .|
| . B . |
| oB. |
+----[SHA256]-----+
5. Transfer client machine's public key to server machine to enable login without password
[client machine cmd]
>ssh git@<server address> $midkr .ssh
$chmod .ssh
$cd .ssh
$touch authorized_keys
$chmod 600 authorized_keys
Sample output
The authenticity of host '<server address> (<server address>)' can't be established.
RSA key fingerprint is SHA256:hsFlk18MlWP3wtNVGKcBrZijZMvCjsdlhJg/SPAn9Z0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '<server address>' (RSA) to the list of known hosts.
git@<server address>'s password:
Last login: Sun Oct 18 07:58:35 2015 from <client ip>
[git@localhost ~]$ mkdir .ssh
[git@localhost ~]$ chmod 700 .ssh
[git@localhost ~]$ cd .ssh
[git@localhost .ssh]$ touch authorized_keys
[git@localhost .ssh]$ chmod 600 authorized_keys
Append client's public key to server's authorized_keys file by copy-and-paste
[client machine cmd -> connected to server via ssh]
$vi ~/.ssh/authorized_keys
client machine public key location: %USERPROFILE%\.ssh\id_rsa.pub
server machine authorized_keys file location: /home/git/.ssh/authorized_keys
Sample authorized_keys file
[git@localhost ~]$ vi .ssh/authorized_keys
aaarticlea/png;base64,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" alt="" />
Logout from server and connect again to test, if ssh doesn't prompt for password, your configuration for ssh is correct.
6. Clone remote repository
[client machine cmd]
>git clone git@<server address>:sample.git
7. Test
Create a README.md file and push to server repository
[client machine cmd]
>touch README.md
>notepad README.md #input some content into README.md, then save
>git add README.md
>git commit -m "Intial commit for sample project"
>git push origin master
8 Done. if you want to submit code in another machine, you need to:
a. Append the public key of the new machine to server's authorized_keys file
b. Clone repository to new machine
c. Modify the files in new machine local repository, and push to server(remote repository)
If you don't want the user git login into server via shell, you can modify the type of shell for this user
[server machine shell]
#vi /etc/passwd
Locate to the end of file, change git:**********/bin/bash to git:**********/usr/bin/git-shell
After that, user still can use name git to push their code to server, but login via ssh is denied
C:\Users\<account name>>ssh git@<server address>
Last login: Sun Oct 18 10:42:30 2015 from <client ip>
fatal: What do you think I am? A shell?
Connection to 192.168.1.109 closed.C:\Users\<account name>>
Setup Git Server in CentOS 6.3的更多相关文章
- setup FTP server on CentOS 7
Setup FTP Server on CentOS 7 Install vsftpd vsftpd (Very Secure File Transport Protocol Daemon) is a ...
- Setup FTP Server On CentOS, RHEL, Scientific Linux 6.5/6.4/6.3
setsebool allow_ftpd_full_access onsetsebool -P ftp_home_dir on vsftpd (Very Secure File Transport P ...
- 搭建Git Server - Centos+Gitosis
参考并部分转载自:http://www.pfeng.org/archives/757 1. 安装依赖 yum -y install curl-devel expat-devel gettext-dev ...
- Setup VSFTPD Server with Virtual Users On CentOS, RHEL, Scientific Linux 6.5/6.4/6.3
We have already shown you How to Setup VSFTPD Server on CentOS 6.5/6.4 in our previous article. In t ...
- Setup a private http/nginx based GIT server
原文:http://aaba.me/blog/2014/03/setup-a-private-http-nginx-based-git-server.html https://doomzhou.git ...
- centos git server 的搭建
安装环境 centos7 说明:centos yum 库里面的git 好像是不区分 客户端和服务器端, 安装 git 以后 就可以创建 仓库,也可以检出 别的 git 仓库的 代码了.所以不 ...
- Installing MySQL Server on CentOS
MySQL is an open-source relational database. For those unfamiliar with these terms, a database is wh ...
- Ubuntu server 搭建Git server
Ubuntu server 搭建Git server,git相比svn,最主要就是分布式了,每个客户端用户的本地都是一个版本管理控制器. Ubuntu server 版本为12.04 搭建步骤如下: ...
- IP Failover Setup using Keepalived on CentOS/Redhat 6
source url:http://tecadmin.net/ip-failover-setup-using-keepalived-on-centos-redhat-6/ Keepalived is ...
随机推荐
- C++编程规范之11:隐藏信息
摘要: 不要泄密,不要公开提供抽象的实体的内部信息. 为了尽量减少操作抽象的调用代码和抽象的实现之间的依赖性,必须隐藏实现内部的数据.否则,调用代码就能够访问该信息,或者更糟,操作该信息,而原来应属于 ...
- spring mvc 提交数组等复杂类型
使用jquery提交,比如monthIncome的值是一个数组,在Java里用request.getParameterValues("monthIncome");取不到值,要这样才 ...
- Swift - 告警框(UIAlertView)的用法
1,下面代码创建并弹出一个告警框,并带有“取消”“确定”两个按钮 (注:自IOS8起,建议使用UIAlertController) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...
- RSA加密前言
RSA:非对称加密,近期因为工作需要需要实现了一个RSA加密方案.查阅文档无数,主要是通过看他们代码及其引用他人的代码基本实现了跨平台的RSA方案.现在唯一的缺陷是加解密花费的时间太多,下周会把加解密 ...
- 与众不同 windows phone (30) - Communication(通信)之基于 Socket TCP 开发一个多人聊天室
原文:与众不同 windows phone (30) - Communication(通信)之基于 Socket TCP 开发一个多人聊天室 [索引页][源码下载] 与众不同 windows phon ...
- 【LeetCode】Min Stack 解题报告
[题目] Design a stack that supports push, pop, top, and retrieving the minimum element in constant tim ...
- linux内核基础(系统调用,简明)
内核基础(系统调用) 在说系统调用之前.先来说说内核是怎么和我们交互的.或者说是怎么和我们产生交集的. 首先,内核是用来控制硬件的仅仅有内核才干直接控制硬件,所以说内核非常重要,假设内核被控制那么电脑 ...
- JavaScript实战
JavaScript之单例实战 一.概述 所谓单例模式,顾名思义即一个类只有一个实例. 所以,当我们创建一个实例时,就必须判断其是否已经存在了这个实例,如果已经存在了这个实例,那么就返回这个已经存在的 ...
- 15个nosql
1.MongoDB 介绍 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存 储解决方案.当数据量达到50GB以 ...
- Java Word Ladder(字梯)
问题: Given two words (start and end), and a dictionary, find the length of shortest transformation se ...