我正在尝试搭建一个平台来学习 Gitlab CI/CD 的工作原理。我制作了这个 Gitlab CI 文件,它只从 Gitlab CI/CD 变量中读取 ssh 私钥 ($KEY),连接到服务器并在服务器终端中写入消息。
stages:
- deploy
deploy:
stage: deploy
before_script:
- eval $(ssh-agent -s)
- echo "$KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh && chmod 700 ~/.shh
script:
- ssh -o StrictHostKeyChecking=no $SSH_USER@$SSH_HOST "echo Hello"
您能解释一下为什么我在代码执行过程中最后一行出现
ssh: Operation timeout
错误吗?终端中没有有关此错误的其他信息。作业失败后,终端中没有消息“Hello”。
我对 ssh 连接也很陌生。也许我在传递私钥时做错了什么?
这可能是因为您的 $SSH_HOST(服务器 IP) 不正确。 仔细检查 GitLab 变量中的值。
此外,验证您的服务器上的端口 22 是否已打开。