terraform apply で Error connecting to SSH_AUTH_SOCK エラーが出るのを解決する

More than 1 year has passed since last update.

Terraform で remote-exec provisioner を含むプランを terraform apply するとこんなエラーが出ることがある:

$ terraform apply
digitalocean_droplet.web: Refreshing state...
digitalocean_droplet.web: Destroying...
digitalocean_droplet.web: Creating...
  image:                "" => "ubuntu-14-04-x64"
...

digitalocean_droplet.web: Provisioning with 'remote-exec'...
Error applying plan:

1 error(s) occurred:

* Error connecting to SSH_AUTH_SOCK: dial unix 0: no such file or directory

これは Terraform がリモートへの接続のためにローカルの ssh-agent プロセスを利用しようとしたとき、プロセスが実行中でない場合に発生する。

解決するには ssh-agent を起動する(ここらへんを参照のこと:ssh-agentの使い方 - Qiita)または ssh-agent を使わないように設定する:

terraform.tf
resource "foo_resource" "bar" {
    # ...
    provisioner "remote-exec" {
        # ...
        connection = {
            agent = false                 # ←agent を経由しないようにする
            key_file = "/path/to/id_rsa"  # ←使う秘密鍵を明示的に与える

        }
    }
}
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.