创建git服务器-ssh免密登陆

##准备

###环境:linux/centos 7.4
###安装:
yum install git(服务器端使用)
https://pan.baidu.com/s/1PbKOU1KoF6JhUumksD4nEg (客户端)

##服务器端开始

##安装git yum install git

创建操控git的用户

sudo useradd git
这时候系统会自动在服务器中 /home 文件夹建立一个git用户创建的文件夹

获取git操作的shell文件,放到这个git文件中(获得技能)

$cp /usr/share/doc/git-1.8.3.1/contrib/git-shell-commands /home/git -R
$ chown git:git /home/git/git-shell-commands/ -R
$ chmod +x /home/git/git-shell-commands/help
$ chmod +x /home/git/git-shell-commands/list

配置技能驱动项

usermod -s /usr/bin/git-shell -g git -f /home/git git
usermod [options] user
[options]
-d<登入目录>  修改用户登入时的目录。
-g<群组>  修改用户所属的群组。
-s<shell>  修改用户登入后所使用的shell。
注意: /usr/bin/git-shell必须依赖我们所学的技能git-shell-common才能够配合使用 ##创建一个空的仓库 #########当前所处的位置:/home/git
sudo git init --bare sample.git
sudo chown -R git:git sample.git ###改变所属权限 ##配置SSH免密登陆 原理:一把钥匙一把锁,钥匙是私钥(id_rsa),锁是公钥(id_rsa.pub),将锁放到服务器上即可。

  • mkdir .ssh
  • cd .ssh
  • vim authorized_keys ###新建锁放的地方
    接下来复制从客户端提供的锁,复制进去保存即可。
    *下面这一步很重要,修改操作authorized_keys的权限 chown git:git -R /home/git/.ssh chmod 600 /home/git/.ssh/authorized_keys

配置允许SSH登陆,检查下面几行前面"#"注释是否取掉。

/etc/ssh/sshd_config
 RSAAuthentication yes
 PubkeyAuthentication yes
 AuthorizedKeysFile .ssh/authorized_keys
到此为止

#客户端提供锁的操作

##安装git然后打开git-bash $ssh-keygen -t rsa user@example.com ##生成钥匙和锁
第一次操作就直接按三下回车即可(这几次是告诉你生成位置和使用该锁的密码等等)
$cat ~/.ssh/id_rsa.pub ##获取锁 将这个锁追加到服务器上的authorized_keys即可

#使用远程仓库(客户端)

git clone git@server:/path/to/sample.git
格式说明:$ git clone 用户名@ip_server:/home/git/sample.git

#结果

$ git clone git@127.0.0.1:/home/git/sample.git Cloning into 'sample'... warning: You appear to have cloned an empty repository.
大功告成

#心得

以上是个人实验所得,若有错误之处,请麻烦指出。
由于对git/linux/ssh,不是很熟悉,所以该实验花了我大量的时间去搭建,不容易啊~~~

#参考文献

https://segmentfault.com/a/1190000011313567 七步搭建 Git 服务器 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000 搭建Git服务器 https://blog.csdn.net/u013227473/article/details/79021190 ssh登录的调试方法和常见问题 http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html SSH原理与运用(一):远程登录

转载于:https://my.oschina.net/u/3668278/blog/1922863

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值