GitLab添加SSH key

SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。

SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

ssh-keygen

从客户端来看,SSH提供两种级别的安全验证:

复制代码
第一种级别(基于口令的安全验证):只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到"中间人"这种方式的攻击。
第二种级别(基于密钥的安全验证)ssh-keygen:需要依靠密钥,这里的密钥是非对称密钥。

问题

从gitlab中clone代码时,如果出现以下报错

cpp 复制代码
 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,hostbased)

先确保自己对下载的代码库有权限的前提下,一般就是防火墙的存在,缺少秘钥导致的。

解决

1)首先生成RSA公钥,在终端中执行命令

cpp 复制代码
ssh-keygen -t rsa -C "XXX@XXX.com"

最好填写你的真实邮箱,便于后期管理

一路回车,会在/home/用户/.ssh/下生成id_rsa和id_rsa.pub两个文件

2)进入 https://gitlab.com/ 并登录你的GitLab账户

找到SSH key的位置

3)将步骤1中生成的/home/用户/.ssh/id_rsa.pub公钥文件里面的内容复制到下图
4)完成后在终端git clone 你的代码仓库地址,一般就没问题了。

相关推荐
wanhengidc21 分钟前
服务器租用有何优点
运维·服务器·安全·web安全
ZGi.ai41 分钟前
人工审查节点:让自动化工作流多一步人工把关
运维·人工智能·自动化·人机协同·智能体工作流·人工审查
艾莉丝努力练剑1 小时前
【Linux:文件】Ext系列文件系统进阶
linux·运维·服务器·c++·文件系统·文件io·ext
海市公约1 小时前
Linux核心基础命令与权限管理实战指南
linux·运维·服务器·vim·权限管理·系统监控·命令行
wkd_0071 小时前
Ubuntu 22.04 Samba 连接故障排查记:从“用户名或密码错误”到 NTLM 版本不兼容
linux·运维·ubuntu
企服AI产品测评局2 小时前
Agent适配信创环境实测:企业级自动化如何实现国产操作系统与数据库全兼容?
运维·数据库·人工智能·ai·chatgpt·自动化
mixboot2 小时前
Linux 进程工作目录查看利器:pwdx 命令详解
linux·运维·服务器
盖小雅3 小时前
自动化排班如何破解劳动法合规难题:从规则冲突到可追溯的排班表
大数据·运维·机器学习·自动化
NiceCloud喜云3 小时前
Claude Code Routines 实战:三种触发器跑通云端自动化编码
android·运维·数据库·人工智能·自动化·json·飞书
zhz52145 小时前
服务器等保加固实施报告
运维·服务器·信创·国密·等保