代码改变世界

天行健,君子以自强不息

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  108 随笔 :: 0 文章 :: 3 评论 :: 23551 阅读
< 2025年4月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10

生成特有的密钥对

用windows的命令行生成即可

$ ssh-keygen -t rsa -C "runner@amihome.cn"

执行如下图:
img

上述命令行中,密钥保存在C:\Users\d211.ssh目录下:

img

把上述公钥拷贝到目标服务器的对应用户目录下

比方我们要在目标服务器,用上述私钥,以用户runner的身份登入。那么我们在目标服务器上,创建id为runner的用户

![img](https://img2023.cnblogs.com/blog/1333968/202403/1333968-20240309175055031-913262063.png)

然后去runner的home目录的.ssh隐藏文件夹下,创建配置文件并加入我们的公钥

root@dudu-cloud:/home# mkdir runner
root@dudu-cloud:/home# cd runner
root@dudu-cloud:/home/runner# mkdir .ssh
root@dudu-cloud:/home/runner# cd .ssh
root@dudu-cloud:/home/runner/.ssh# vi authorized_keys

把Windows生成的密钥对的公钥,也就是文件“id_rsa.pub”的完整内容:

img

把上图中的文字,复制vi编辑器新建的文件,然后强制保存,退出:

img

在Windows命令行中,尝试用SSH免密登入远程服务器

因为我们在目标服务器上的用户是runner,服务器是192.168.3.218,所以直接在命令行中输入

ssh runner@192.168.3.218

如下图,首先需要信任目标服务器

img

回车后,登入成功如下:

img

在Gitlab Runner启动的临时工作容器中如何SSH免密码登入目标服务器?

准备一个目录,目录下放置2个文件

用于挂载到Gitlab Runner启动的临时工作容器

文件1:RSA的私钥

文件2:

一个config文件,里面一个参数

img

完整操作过程如下:

root@dev-server:/mnt/disk5t/data/gitlab.amihome.cn/gitlab-runners/ssh# ls -al
total 12
drwxr-xr-x 2 root root 4096 Mar  9 10:19 .
drwxr-xr-x 4 root root 4096 Mar  9 10:17 ..
-rw-r--r-- 1 root root 1675 Mar  9 10:18 id_rsa
root@dev-server:/mnt/disk5t/data/gitlab.amihome.cn/gitlab-runners/ssh# vi config
root@dev-server:/mnt/disk5t/data/gitlab.amihome.cn/gitlab-runners/ssh# ls -al
total 16
drwxr-xr-x 2 root root 4096 Mar  9 10:22 .
drwxr-xr-x 4 root root 4096 Mar  9 10:17 ..
-rw-r--r-- 1 root root   34 Mar  9 10:22 config
-rw-r--r-- 1 root root 1675 Mar  9 10:18 id_rsa

在config.toml的volumn中增加一个挂载目录

"/mnt/disk5t/data/gitlab.amihome.cn/gitlab-runners/ssh:/deploy/ssh"

完整配置文件如下:

img

上述路径的说明

为什么是挂载在/deploy/ssh目录下?
因为ssh-to-http-server-for-update-version-number.sh需要从“/deploy/ssh”目录拷贝私钥和配置

img

posted on   终南山人  阅读(862)  评论(0)    收藏  举报
相关博文:
阅读排行:
· 精选 4 款免费且实用的数据库管理工具,程序员必备!
· 干货分享!MCP 实现原理,小白也能看懂
· Cursor:一个让程序员“失业”的AI代码搭子
· MCP开发应用,使用python部署sse模式
· 重生之我是操作系统(七)----内存管理(上)
点击右上角即可分享
微信分享提示