生成特有的密钥对
用windows的命令行生成即可
$ ssh-keygen -t rsa -C "runner@amihome.cn"
执行如下图:
上述命令行中,密钥保存在C:\Users\d211.ssh目录下:
把上述公钥拷贝到目标服务器的对应用户目录下
比方我们要在目标服务器,用上述私钥,以用户runner的身份登入。那么我们在目标服务器上,创建id为runner的用户

然后去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”的完整内容:
把上图中的文字,复制vi编辑器新建的文件,然后强制保存,退出:
在Windows命令行中,尝试用SSH免密登入远程服务器
因为我们在目标服务器上的用户是runner,服务器是192.168.3.218,所以直接在命令行中输入
ssh runner@192.168.3.218
如下图,首先需要信任目标服务器
回车后,登入成功如下:
在Gitlab Runner启动的临时工作容器中如何SSH免密码登入目标服务器?
准备一个目录,目录下放置2个文件
用于挂载到Gitlab Runner启动的临时工作容器
文件1:RSA的私钥
文件2:
一个config文件,里面一个参数
完整操作过程如下:
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"
完整配置文件如下:
上述路径的说明
为什么是挂载在/deploy/ssh目录下?
因为ssh-to-http-server-for-update-version-number.sh需要从“/deploy/ssh”目录拷贝私钥和配置
黑夜里不停折腾的代码行者。
分类:
CI/CD
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 精选 4 款免费且实用的数据库管理工具,程序员必备!
· 干货分享!MCP 实现原理,小白也能看懂
· Cursor:一个让程序员“失业”的AI代码搭子
· MCP开发应用,使用python部署sse模式
· 重生之我是操作系统(七)----内存管理(上)