在Linux服务器上创建Git仓库,进行无密连接

建立仓库

1、创建一个新的用户(root)

1) 添加新用户
	useradd XXX
2) 添加密码
	passwd XXX
3) 切换到创建的用户
	su - XXX

注意:如果是非root用户,可跳过上一步

2、创建Git仓库

1)创建一个裸仓(无法直接在仓库查看内容,无法直接在本仓库中使用git命令,只保存提交的版本信息,但是可克隆,避免了不必要的冲突)
	git init --bare project.git
2)尝试在本地克隆一下这个裸仓
	git clone XXX(仓库所在的远程用户)@39.97.151.XX(自己的服务器IP):~/project(仓库名)

此时需要输入密码,也就是远程用户的密码,下面说一下如何无需密码克隆

免密克隆/登录

其实准确的来说,无密克隆是用到了ssh远程登录,登录用户无需密码,这样克隆当然也不需要了

1、修改远程ssh配置

1) 打开配置文件sshd
		vi /etc/ssh/sshd_config
2) 修改配置,将以下几个配置改为yes,在vi中退出编译模式(Esc退出编译模式,i进入编译模式)后使用 / 可进行查询  
	例如: /name 查找name,n 为下一个 ,N 为上一个
		RSAAuthentication yes   # 启用RSA 非对称加密算法
		PubkeyAuthentication yes   # 公钥认证
		PasswordAuthentication yes  #允许密码认证

如果在配置文件中找不到,自己添加即可
修改完成后重启服务 : systemctl restart sshd.service

2、在远程用户目录中添加.ssh文件夹

注意.ssh文件夹是用户的下级,而不是在Git仓库的下级,.ssh文件的所有权必须是此用户,而不能是root,简单来说就是要登录此用户后创建,因为以后登录都要用到此文件夹

1) 创建.ssh文件夹
	mkdir .ssh
2) 在.ssh文件夹中创建 authorized_keys 文件,此文件用于存储本地的公钥
	touch .ssh/authorized_keys
3) 修改文件权限.ssh为可读可写可执行,authorized_keys只可读可写
	chmod 700 .ssh  
	chmod 600 .ssh/authorized_keys

3、本地查找自己的密钥

在本地 C:\用户\自己的用户 下,有一个.ssh隐藏文件,若不存在,则新建一个.ssh文件,在.ssh中进入命令提示符(小黑框)
1) 生成密钥,第一个输入为密钥名称,第二个为密钥密码(密钥密码建议为空,即什么也不输)
	ssh-keygen 

生成密钥

2) 上一步会生成两个文件,其中一个以.pub结尾为公钥,另一个为私钥,其中公钥复制到服务器,连接时用私钥连接
打开公钥,复制里面所有内容

公钥

3)登录服务器的用户,将复制的内容粘贴到用户的.ssh 文件夹下的 authorized_keys 中(使用vim打开, :x 保存并退出)
4) win + R 输 cmd 打开命令提示符(小黑框),尝试无秘连接
	ssh user(远程服务器用户名)@39.97.154.XX(服务器IP) -i C:\Users\XXX\.ssh\my_rsa(对应私钥的绝对地址)
5) 若连接成功,打开本地 .ssh 文件夹下的 config (若无,自己在.ssh中创建)

配置文件

6) 编辑config
	Host XXX(连接时的名称)
	HostName 39.97.154.XX (服务器IP)
	User XXX (服务器用户名)
	Port 22   (端口号)
	PreferredAuthentications publickey (必填)
	IdentityFile C:\Users\XX\.ssh\XXX (私钥绝对地址)

配置好以后保存,在命令行(小黑框)使用ssh进行连接测试

ssh user(远程用户名)@XXX(刚才config配置的Host对应的名称)

若成功,使用Git克隆就可无密啦。若失败的话建议查看一下服务器的开放端口,在这里就不多介绍

7) 无密克隆命令
	git clone XXX(用户名)@XXX(刚才config配置的Host对应的名称):~/XX(仓库名)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值