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

编程入门 行业动态 更新时间:2024-10-28 12:31:03

目录

  • 一、检查是否已存在SSH密钥
  • 二、生成SSH密钥对
  • 三、添加SSH密钥到gitlab用户
  • 四、在jenkins创建Gitlab SSH Credentials
  • 五、通过SSH密钥对实现免密登录Linux服务器

参考:
https://docs.gitlab/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 

更多推荐

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

本文发布于:2023-06-14 09:23:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1461165.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:密钥   SSH   jenkins   gitlab

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!