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 你的代码仓库地址,一般就没问题了。

相关推荐
吴声子夜歌1 小时前
Shell编程实例——bash入门
linux·运维·shell
爱和冰阔落2 小时前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓
ynchyong2 小时前
Linux nohup 后台服务合并标准错误输出到一个文件
java·linux·运维
牛油果子哥q2 小时前
LLM 服务网关设计:流量分发、鉴权、限流、多模型路由、负载均衡、接口版本管理(C++ 网关落地)
运维·负载均衡
傲世仙尊2 小时前
从磁盘硬件到Ext文件系统-Linux磁盘级文件系统学习笔记
linux·运维·服务器·开发语言·c++
蓝速科技2 小时前
信创终端 POC 测试实战与选型避坑指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理
曦夜日长2 小时前
Linux系统篇,进程概念(三):进程状态详解、僵尸进程与孤儿进程的深度解析、Slab机制的了解
linux·运维·服务器
wdfk_prog2 小时前
VMware Ubuntu 虚拟机从 124 GB 压缩到 33 GB
运维·缓存·docker·容器
2601_966377133 小时前
等保2.0最新标准新增安全数据处理要求后怎么办?等保一体机数据安全模块来助力
运维·网络·安全·等保一体机
2601_963906783 小时前
桌面自动化工具|零代码录制自动化,无需联网本地离线用
运维·自动化