使用 travis-ci 进行 scp 传输

scp transfer with travis-ci

尝试从 travis 部署到 Digital Ocean,继续获取

fatal: Unable to negotiate with 52.54.31.11 port 39748: no matching host key type found. Their offer: ssh-dss [preauth]

在主机上。

最近尝试向 .travis.yml 添加很多内容

before_script:
  - echo -e "Host 159.203.162.79\n\tUser root\n\tIdentityFile /tmp/deploy_rsa\n\tHostKeyAlgorithms +ssh-dss\n" >> ~/.ssh/config

但是没有爱。这让我很感动

/home/travis/.ssh/config line 7: Bad protocol 2 host key algorithms '+ssh-dss'.

所以,似乎是闪亮的新 openssl 的问题,而 travis 是旧版本?

当然,我使用的是私钥,似乎一切正常。

before_install:
  - openssl aes-256-cbc -K $encrypted_ca03cb1712d9_key -iv $encrypted_ca03cb1712d9_iv -in deploy_rsa.enc -out /tmp/deploy_rsa -d && chmod 600 /tmp/deploy_rsa

before_deploy:
  - eval "$(ssh-agent -s)"
  - ssh-add /tmp/deploy_rsa

很有可能。我无法在精确图像上列出支持的密钥类型(因为它太旧并且不支持 -Q 标志)。

不过,我已经确认 Trusty 镜像确实支持 ssh-dss 密钥。这是默认启用的。我没有可用于测试的服务器,但您应该可以继续使用:

dist: trusty

有关详细信息,请参阅 https://docs.travis-ci.com/user/reference/trusty/