标签:src 添加 alt 管理权限 enter deb 一个 net 官方
linux.cn
liaoxuefeng的博客
官方手册,强烈推荐
如何生成自己的ssh密钥并添加到GitHub
GitHub help 生成密钥说明
搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装。
sudo apt-get install git
sudo useradd git // 或者 sudo adduser git
passwd git
为了能方便的访问git服务器,我们在我们的本机创建一个 ssh 密钥。 输入以下命令一路enter就行了。
如何生成自己的ssh密钥并添加到GitHub
GitHub help 生成密钥说明
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
它生成两个密钥——公钥和私钥。id_rsa id_rsa.pub
记下您在下一步中需要使用的公钥的位置。默认位置为 ~/.ssh/
下面
收集所有需要登录的用户的公钥,就是将需要访问的用户的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys
文件里,一行一个。
如果是新建的git服务器,没有authorized_keys文件。
cat ~/.ssh/id_rsa.pub | ssh git@remote-server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
后续的添加用户的id_rsa.pub.只需要追加到git用户的authorized_keys文件内就行了。
给GitHub添加ssh密钥很简单。 只需要到你GitHub账号的设置里面 new SSH并吧本地id_rsa.pub里面的内容复制进去就行了。
如果团队很小,把每个人的公钥收集起来放到服务器的/home/git/.ssh/authorized_keys文件里就是可行的。如果团队有几百号人,可以用Gitosis来管理公钥。
用ssh 登录进服务器并为 Git 创建一个项目路径。
先选定一个目录作为Git仓库,假定是/src/learngit.git,在/src目录下 输入命令:(src是git用户下的目录)
sudo git init --bare learngit.git
会在src目录下面创建一个learngit.git的目录
如图所示:
Git就会创建一个裸仓库——即一个不包含当前工作目录的仓库,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区。
为了通过克隆你的仓库来创建一个新的裸仓库,你需要在克隆命令后加上 --bare 选项。
按照惯例,裸仓库的目录名(是目录)以 .git 结尾,就像上面的那样。
然后,把owner改为git:
sudo chown -R git:git learngit.git
git clone git@remote-server:/home/git/src/learngit.git
假定/home/git/src/learngit.git
是远程服务器上的项目路径。
暂时略
出于安全考虑,创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
// 改为
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户
[git]-Ubuntu上创建自己的git服务器&GitHub添加ssh密钥
标签:src 添加 alt 管理权限 enter deb 一个 net 官方
原文地址:https://www.cnblogs.com/__tudou__/p/12712429.html