【发布时间】:2017-01-21 00:26:35
【问题描述】:
我正在与 Travis CI 进行持续集成。 这是我的配置:
before_install:
- echo -e "Host *\n\tStrictHostKeyChecking no\n" > ~/.ssh/config
- echo -e $id_rsa.pub > ~/.ssh/id_rsa.pub
- echo -e $id_rsa > ~/.ssh/id_rsa
- sudo chmod 600 ~/.ssh/*
- sudo chmod 644 ~/.ssh/config
- eval `ssh-agent -s`
- ssh-add ~/.ssh/id_rsa
...
$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/travis/.ssh/id_rsa:
在 ssh-add 步骤中,它会询问我密码并停止部署。我已经用另一个没有密码的 ssh 密钥进行了测试,但它不能解决我的问题。
我已经测试了很多解决方案,例如 yes $MY_PASSWORD | ssh-add ~/.ssh/id_rsa 或 echo "$MY_PASSWORD" | ssh-add ~/.ssh/id_rsa,但它不起作用。
我已添加到我的 .ssh/config 中(您可以在我的配置中看到它):
Host *
StrictHostKeyChecking no
不是应该让它不要问我密码吗?
也许有人有想法? 谢谢:)
【问题讨论】:
-
"
StrictHostKeyChecking no...难道不应该让它不问我密码吗?" - 不。StrictHostKeyChecking相当于 SSH其他协议(如 HTTPS)中的公钥固定。它与远程登录凭据无关。
标签: linux ssh continuous-integration debian travis-ci