Error: User interaction is not allowed
Thought I had it licked with I read this issue: https://github.com/bitcrowd/sshkit.ex/issues/85, but no such luck.
I'm using Bootleg to attempt to deploy a phoenix app, and am getting this error trying to connect to a Debian host. HashKnownHosts is 'no' on the server AND client, I can connect using ssh, and I added silently_accept_known_hosts.
Not sure what further info I can give you (is there a way to increase verbosity?), please advise.
Thank You!
Hey @fleadope thanx for reporting 🙏
We're currently quite busy with client work, so it might take us a while until we can dig into this. In order to be able to understand this it would be nice though if you could give us the details of which version of Debian you're running, which changes you made to the default ssh config, etc. At best, provide me with a Dockerfile so that I can set up a simple container with your setup ✌️
Also getting this. Trying to build on localhost on Ubuntu 17.10 w/ bootleg
role :build, "localhost", user: "snewcomer", workspace: "/tmp/bootleg/build"
(~/Github/project)$ mix bootleg.build production
Creating remote context at '/tmp/bootleg/build'
[localhost ] (export REPLACE_OS_VARS="true" && /usr/bin/env mkdir -p /tmp/bootleg/build)
** (SSHError) SSHKit returned an internal error on localhost: 'User interaction is not allowed'
lib/bootleg/ssh.ex:70: anonymous fn/2 in Bootleg.SSH.run/2
(elixir) lib/enum.ex:1255: Enum."-map/2-lists^map/1-0-"/2
lib/bootleg/ssh.ex:163: Bootleg.SSH.run!/2
lib/bootleg/ssh.ex:87: Bootleg.SSH.validate_workspace/3
lib/bootleg/ssh.ex:51: Bootleg.SSH.init/2
lib/strategies/build/distillery.ex:9: Bootleg.Strategies.Build.Distillery.init/0
lib/strategies/build/distillery.ex:16: Bootleg.Strategies.Build.Distillery.build/0
lib/bootleg/config.ex:356: Bootleg.Config.invoke/1
A couple of things I tried:
- Add 127.0.0.1 to known_hosts
- set
HashKnownHoststo no
Changing to
role :build, "127.0.0.1", user: "snewcomer", workspace: "/tmp/bootleg/build"
works :man_shrugging:
@klappradla So what that makes me think is localhost is looked up and finds the ipv6 address. Whereas 127.0.0.1 is the ipv4 address. Former doesn't work, latter does. Trying on remote digital ocean server and getting the same 'User interaction is not allowed'; however, after adding silently_accept_hosts: true, it worked.
Thanks a lot for posting your solution to the problem 🎉
To maybe narrow it down further: In which way, did you provide the host for the digital ocean server: Using a hostname or the IP address? Which of these did you use when first connecting via the ssh command?
Cheers 😃
So the build step was locally on my ubuntu machine. The deploy step was an easy fix w/ silently_accept_hosts. And to deploy, the host was the IP address.