我的/etc/ssh/ssh_config
文件中有以下设置:
Host serverA
User idA
Host serverB
User idB
ProxyJump serverA
我还复制了公钥,所以如果我在本地运行ssh serverB
,我serverB
可以idB
通过serverA
.
现在,这是我的跑步者配置/etc/gitlab-runner/config.toml
:
[[runners]]
name = "ssh-runner-1"
url = "http://my-cicd-server"
token = "xxxxxxxxxxxxxxxx"
executor = "ssh"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.ssh]
user = "idB"
host = "serverB"
identity_file = "/home/gitlab-runner/.ssh/id_ed25519"
当我在这个运行器上运行 CI/CD 作业时,我得到一个«连接被拒绝»错误:
ERROR: Preparation failed: ssh command Connect() error: ssh Dial() error: dial tcp xxx.xxx.xxx.xxx:22: connect: connection refused
我得出的结论是ProxyJump
配置没有应用,并且由于带有运行器的机器无法直接连接到serverB
,我被拒绝访问。如何配置运行器以应用代理跳转配置?