简而言之,我有一个管道GitLab 持续集成在图像上运行alpine:latest
。在管道中我运行以安装ssh
:
apk update && apk upgrade && apk add --update openssh
然后我运行一个scp
命令:
scp -P $SSH_PORT $FILES $SSH_USER@$SSH_HOST:~/
失败的原因如下:
ssh: connect to host <host> port <port>: Connection refused
scp: Connection closed
在服务器上我可以看到日志:
Unable to negotiate with <ip> port <port>: no matching host key type found. Their offer: [email protected] [preauth]
Unable to negotiate with <ip> port <port>: no matching host key type found. Their offer: [email protected] [preauth]
在研究并尝试了解整个过程的工作原理后,我尝试PubkeyAcceptedKeyTypes
在scp
命令中添加选项,以便客户端接受主机密钥由服务器提供身份验证:
scp -o '[email protected]' -P $SSH_PORT $FILES $SSH_USER@$SSH_HOST:~/
但不幸的是,什么都没有改变。
有人有什么想法吗?
答案1
我发现连接实际上是在防火墙处停止的:P