Help us understand the problem. What is going on with this article?

knife-solo cookでrsync errorが出た時の対応

More than 5 years have passed since last update.

Jenkinsからknife-soloを使ってEC2に環境構築をしている際に、以下のエラーが発生した。
ただし、別の環境から実施した際は同現象は発生しなかったので、特定のバージョンに依存した現象かも。
なお、cookする前に、knife solo prepareでEC2側にchefをインストールしている。

環境

  • OS : CentOS 6.3
  • knife-solo : gem installした0.2.0
  • chef : 11.4.4
  • rsync : 3.0.6

EC2

  • OS : AmazonLinux 64bit
  • type : t1.micro

エラー内容

+ bundle exec knife solo cook ec2-XXX.amazonaws.com
Checking Chef version...
Host key verification failed.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]
ERROR: RuntimeError: Failed to launch command rsync -rl  --rsh="ssh ec2-user@ec2-XXX.amazonaws.com" --delete --exclude revision-deploys --exclude tmp --exclude '.*' --exclude *~ --exclude *.sw[a-z] --exclude */.svn/*  ./ :/tmp/chef-solo

回避策

原因不明で色々悩んでいたところ、sshした際に出る公開鍵登録の確認にyesで答えて、出なくしてあげると現象が出なくなる事を確認した。

Are you sure you want to continue connecting (yes/no)? yes

knife-solo実行側の~/.ssh/configに

Host *.amazonaws.com
  StrictHostKeyChecking no

と書いてあげる事で、yes/noは聞かれなくなり、エラーが解消された。

uchiunyo
しがない運用系派遣エンジニア。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away