当前位置: 首页>移动开发>正文

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对


目录

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


参考:
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密钥对
若存在以下文件,则表明已经生成过:

Algorithm

Public key

Private key

ED25519 (preferred)

id_ed25519.pub

id_ed25519

RSA (at least 2048-bit key size)

id_rsa.pub

id_rsa

DSA (deprecated)

id_dsa.pub

id_dsa

ECDSA

id_ecdsa.pub

id_ecdsa

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对,企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对_git,第1张

二、生成SSH密钥对

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

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

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对,企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对_密钥对_02,第2张

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

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

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对,企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对_密钥对_03,第3张

三、添加SSH密钥到gitlab用户

1、登录gitlab,点击右上角头像avatar -> 下拉菜单Settings -> 左侧菜单SSH Keys

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对,企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对_密钥对_04,第4张

2、将之前生成的公钥id_rsa.pub内容粘贴到Key文本框,同时自定义title

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对,企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对_用户名_05,第5张

注: 添加完成后,即可在私钥所在的机器上拥有该ssh公钥绑定账户的操作权限(注意对应ssh gitlab库链接)

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对,企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对_密钥对_06,第6张

四、在jenkins创建Gitlab SSH Credentials

创建类型为SSH Username with private key的凭证,

并将第三步生成的私钥id_rsa的内容添加到Private Keys中,

Username并无实际作用(建议跟实际用户同名),

最下面的密码Passphrase即为生成SSH密钥对时输入的密码

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对,企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对_git_07,第7张

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对,企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对_用户名_08,第8张

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对,企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对_用户名_09,第9张

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

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对,企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对_用户名_10,第10张

注:

jenkins中亦可以直接创建类型为Username with password的credential,

可使用该凭证直接以http://xxx形式的访问gitlab库

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对,企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对_git_11,第11张

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对,企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对_用户名_12,第12张

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

1、在源主机通过ssh-keygen命令生成密钥对

2、将公钥拷贝到目标主机的用户home/.ssh目录下的authorized_keys文件中

企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对,企业中的workflow的ssh公钥登记是干嘛用的 生成ssh公钥密钥对_git_13,第13张

又或者通过如下命令进行公钥拷贝:

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

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

ssh 用户名@目标主机IP



https://www.xamrdz.com/mobile/47q1928716.html

相关文章: