搭建本地Git服务器6步走
2015-10-28 10:54
351 查看
1. 在服务器上安装git和ssh
2. 在服务器上新建一个用户,比如就叫git
sudo adduser git
3. 在服务器上新建一个目录来放置git仓库
mkdir gitrepo git init --bare project.git
4. 在服务器上新建ssh目录来存放访问成员的ssh公钥
mkdir .ssh
5. 在客户端上生成本机的ssh key,然后传递给服务器。
ssh-keygen sudo scp id_rsa.pub git@192.168.174.147:~/z_id_rsa.pub
6. 在服务器上把用户公钥添加到authorized_keys文件中
cat z_id_rsa.pub >> ~/.ssh/authorized_keys
现在就可以在客户机上操作远程仓库了!
git clone git@192.168.174.147:~/gitrepo/project.git localProject
注1:用户公钥复制到服务器后可以通过shell访问服务器,有时很危险,怎么禁止用户通过shell访问呢?
将服务器上的/etc/passwd文件修改一下:
将
git:x:1002:1002:,,,:/home/git:/bin/bash
改为:
git:x:1002:1002:,,,:/home/git:/usr/bin/git-shell
这样用户在他的电脑上用shell来访问服务器时就会是这样:
ssh git@192.168.174.147 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Oct 28 19:20:43 2015 from 192.168.174.146 fatal: Interactive git shell is not enabled. hint: ~/git-shell-commands should exist and have read and execute access. Connection to 192.168.174.147 closed.
注2:上面的 git init --bare project.git 是创建了一个空仓库,是没有工作区的,只是为了共享。
--End--
相关文章推荐
- DBA面试题
- 【SSH】——hql的使用方式及实现原理
- Objective-C-----协议protocol,代码块block,分类category
- mysql 4
- myeclipse 2015 ci 16更新说明及下载
- 紫砂壶开壶
- ubuntu下部署Django Web的两种方法
- Hibernate的悲观锁和乐观锁
- 精确径向基(matlab工具箱)
- android 打造万能的ListView GridView 适配器
- ajx技术解析以及模拟jQuery封装
- cocos2d-js入门二 环境搭建二
- iphone屏幕尺寸
- C#.NET 封装自定义组件(控件)Dll
- groupByKey实例分析Spark Hash Shuffle
- Struts2 if/else标签
- C++【基础常识】
- 音频技术之调节音量及设置静音
- PHP SPL的使用
- UIscrollView滚动时调用的方法