生成SSH密钥对(与gitlab、jenkins集成)

参考:
https://docs.gitlab.com/ee/ssh/README.html

一、检查是否已存在SSH密钥对

1、在Windows, Linux, macOS系统下,进入用户home目录(windows为C:\Users\当前用户名)
2、进入.ssh/子目录(windows为C:\Users\当前用户名\.ssh),
3、若不存在则需按照下文步骤生成SSH密钥对,
若存在以下文件,则表明已经生成过:

AlgorithmPublic keyPrivate key
ED25519 (preferred)id_ed25519.pubid_ed25519
RSA (at least 2048-bit key size)id_rsa.pubid_rsa
DSA (deprecated)id_dsa.pubid_dsa
ECDSAid_ecdsa.pubid_ecdsa

在这里插入图片描述

二、生成SSH密钥对

1、打开windows CMD
2、执行ssh-keygen命令

# 其中comment会出现在.pub文件中,可以写邮箱账号
ssh-keygen -t rsa -b 2048 -C "<comment>"

在这里插入图片描述

:可按提示输入密码(亦可直接回车跳过)

生成完成后,既可在如下图提示的目录下查看到密钥对文件

在这里插入图片描述

三、添加SSH密钥到gitlab用户

1、登录gitlab,点击右上角头像avatar -> 下拉菜单Settings -> 左侧菜单SSH Keys
在这里插入图片描述
2、将之前生成的公钥id_rsa.pub内容粘贴到Key文本框,同时自定义title在这里插入图片描述
注: 添加完成后,即可在私钥所在的机器上拥有该ssh公钥绑定账户的操作权限(注意对应ssh gitlab库链接)
在这里插入图片描述

四、在jenkins创建Gitlab SSH Credentials

创建类型为SSH Username with private key的凭证,
并将第三步生成的私钥id_rsa的内容添加到Private Keys中,
Username并无实际作用(建议跟实际用户同名),
最下面的密码Passphrase即为生成SSH密钥对时输入的密码
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

之后在新建jenkins构建任务时,即可通过ssh方式访问git仓库,且对应的凭证即选择之前创建的gitlab-root-ssh
在这里插入图片描述

注:
jenkins中亦可以直接创建类型为Username with password的credential,
可使用该凭证直接以http://xxx形式的访问gitlab库
在这里插入图片描述
在这里插入图片描述

五、通过SSH密钥对实现免密登录Linux服务器

1、在源主机通过ssh-keygen命令生成密钥对
2、将公钥拷贝到目标主机的用户home/.ssh目录下的authorized_keys文件中
在这里插入图片描述
又或者通过如下命令进行公钥拷贝:

# 其中可通过-p指定ssh端口(默认22)
ssh-copy-id 用户名@目标主机IP -p 22

3、拷贝完成后即可在私钥所在的机器上直接免密登录绑定公钥的机器

ssh 用户名@目标主机IP 
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗小爬EX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值