rsync无法连接错误

时间:2018-01-20 17:45:12

标签: github ftp travis-ci rsync cloudflare

我正在尝试使用rsync将文件与Travis和GitHub一起上传到我的服务器,我在deploy.sh脚本rsync -avhP $f deploy@multicrew.co.uk:/var/www/test/中有这一行,每当我尝试上传$ f文件时,我都会收到此错误:

ssh: connect to host multicrew.co.uk port 22: Cannot assign requested address

在我的.travis.yml文件中,我有这段代码

addons:
  ssh_known_hosts: multicrew.co.uk

before_install:
  - openssl aes-256-cbc -K $encrypted_8c9513462553_key -iv $encrypted_8c9513462553_iv -in deploy/deploy_rsa.enc -out /tmp/deploy_rsa -d
  - eval "$(ssh-agent -s)"
  - chmod 600 /tmp/deploy_rsa
  - ssh-add /tmp/deploy_rsa
  - chmod +x deploy/deploy.sh

after_success: "deploy/deploy.sh"

我不知道为什么rsync无法分配请求的地址,我在CloudFlare中设置了一个A名称记录,它将multicrew.co.uk转发到我的服务器的IP

1 个答案:

答案 0 :(得分:2)

您获得的错误看起来像是由杰出的issue with IPv6 on Travis CI引起的。

但是,因为在撰写本文时,您的multicrew.co.uk域名由Cloudflare和Cloudflare only proxies HTTP traffic代理,因此禁用IPv6的建议修补程序将无效。

您需要使用create a separate non-proxied (grey cloud) hostname来使用SSH / RSYNC,更改rsync命令以直接连接到服务器IP地址,或禁用Cloudview代理以获取multiview.co.uk主机名。

请注意,在DNS中添加非代理主机名将公开服务器的IP地址。您可能希望将服务器上的访问权限仅限于Travis CICloudflare IP范围(例如,使用防火墙规则或在Web服务器配置中)。