diff --git a/data/publiccloud/ssh_config b/data/publiccloud/ssh_config index 83cb44f0e4b5..a31c62d03feb 100644 --- a/data/publiccloud/ssh_config +++ b/data/publiccloud/ssh_config @@ -4,4 +4,5 @@ StrictHostKeyChecking no HostKeyAlgorithms +ssh-rsa IdentityFile %SSH_KEY% ControlPersist 86400 +PasswordAuthentication no diff --git a/lib/publiccloud/instance.pm b/lib/publiccloud/instance.pm index 0202ff28cb18..f64829d5b3f9 100644 --- a/lib/publiccloud/instance.pm +++ b/lib/publiccloud/instance.pm @@ -416,7 +416,8 @@ sub wait_for_ssh { script_run("ssh-keyscan $args{public_ip} | tee -a ~/.ssh/known_hosts"); while (($duration = time() - $start_time) < $args{timeout}) { # timeout recalculated removing consumed time until now - $sysout = $self->ssh_script_output(cmd => 'sudo systemctl is-system-running', + # We don't support password authentication so it would just block the terminal + $sysout = $self->ssh_script_output(cmd => 'sudo systemctl is-system-running', ssh_opts => '-o PasswordAuthentication=no', timeout => $args{timeout} - $duration, proceed_on_failure => 1, username => $args{username}); # result check if ($sysout =~ m/initializing|starting/) { # still starting