在Centos上使用密钥访问git

在Centos上使用密钥访问git步骤如下

第一步:创建密钥
ssh-keygen -m PEM -t ed25519 -C "carl@xxxxxxx.com"
说明:ed25519 也可以使用rsa等,这里e.coding.net默认使用ed25519
回车,使用默认选项,一路回车
[root@server .ssh]# ssh-keygen -m PEM -t ed25519 -C "carl@xxxxxxx.com"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/root/.ssh/id_ed25519): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_ed25519.
Your public key has been saved in /root/.ssh/id_ed25519.pub.
The key fingerprint is:
SHA256:M9FJFsoHeq4E...................省略.........I0Tap30UeTtKXNEY carl@xxxxxxx.com
The key's randomart image is:
+--[ED25519 256]--+
|      . o.*+o. E.|
|     . = * o. +..|
|    . o = +  +++ |
|     . o + ..oooo|
|      . S = . =.o|
|     . . * . * oo|
|      . o   . = o|
|         o + o . |
|          o o    |
+----[SHA256]-----+


第二步:将公钥部署在git平台上

假设当前目录是 /root
[root@server ~]# pwd
/root
[root@server ~]# 

注意如果使用 #ll是看不到.ssh目录的,要加 -a,
#ll -a 回车
#cd .ssh 回车
[root@server .ssh]# ll
total 20
-rw------- 1 root root    0 Aug 31  2022 authorized_keys
-rw------- 1 root root  411 May 29 22:10 id_ed25519
-rw-r--r-- 1 root root   99 May 29 22:10 id_ed25519.pub
-rw-r--r-- 1 root root 1774 Oct  8  2022 known_hosts

[root@server .ssh]# 
[root@server .ssh]# cat id_ed25519.pub 
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKwJP6Af  .....后面省略.....carl@xxxxxxx.com
将 ssh-ed25519一至到最后的邮箱内容,都加入到git平台的个人账号中的SSH密钥中。一般找到git平台的个人账号页面就可以找到SSH密钥管理,新建一个密钥,将以上内容复制进去就行。

第三步,测试

注意这时最好清空文件 known_hosts,方法是:
#cat ''>known_hosts
在执行完 ssh -T git@e.coding.net 后,会将相关信息写入 known_hosts
ssh -T git@e.coding.net 用于测试密钥是不是好用,同时会将远程主机信息写入 known_hosts

[root@server .ssh]# ssh -T git@e.coding.net
CODING 提示: Hello VGDqwKCxkI, You've connected to coding.net via SSH. This is a Personal Key.
VGDqwKCxkI,你好,你已经通过 SSH 协议认证 coding.net 服务,这是一个个人公钥.
公钥指纹:45:00:60:1f:ae:3e:11:ac:00:3d:a6 ....省略........
[root@server .ssh]# 
到这里,你可以用使用 git clone 来测试一下了


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CentOS服务器上执行git pull失败通常有以下几个可能的原因: 1. 网络连接问题:首先,检查服务器的网络连接是否正常。可以尝试使用ping命令来测试与远程git仓库的连接是否通畅。如果网络连接不稳定或超时,则可能导致git pull失败。可以尝试检查服务器的网络设置,或者尝试使用其他网络环境进行连接。 2. 认证问题:如果git仓库需要认证,确保服务器上的用户具有相应的权限。检查服务器上的SSH密钥是否正确设置,并且与git仓库中的SSH密钥是否匹配。可以尝试重新生成密钥对,并将公钥添加到git仓库的访问列表中。 3. 本地代码冲突:如果git pull失败的错误信息中包含有关冲突的提示,说明本地代码与远程代码存在冲突。这可能是因为在执行git pull之前,有人在远程仓库上进行了新的提交。此时,需要解决冲突并手动合并代码。可以尝试使用git status命令查看当前git仓库的状态,并使用git diff命令比较本地代码与远程代码的差异。 4. Git版本过旧:确保在CentOS服务器上安装了最新版本的Git。旧版本的Git可能存在与远程仓库不兼容的问题,导致git pull失败。可以尝试使用yum命令更新Git版本:sudo yum update git。 如果以上方法都没有解决问题,建议检查git pull失败的详细错误信息,并尝试在搜索引擎或Git社区中寻找相关解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值