diff --git a/builder/scaleway/ssh.go b/builder/scaleway/ssh.go index a2c9b8f16..e4677849f 100644 --- a/builder/scaleway/ssh.go +++ b/builder/scaleway/ssh.go @@ -18,7 +18,6 @@ func commHost(state multistep.StateBag) (string, error) { func sshConfig(state multistep.StateBag) (*ssh.ClientConfig, error) { config := state.Get("config").(Config) - var privateKey string var auth []ssh.AuthMethod @@ -45,11 +44,9 @@ func sshConfig(state multistep.StateBag) (*ssh.ClientConfig, error) { ) } - if config.Comm.SSHPrivateKey != "" { - if priv, ok := state.GetOk("privateKey"); ok { - privateKey = priv.(string) - } - signer, err := ssh.ParsePrivateKey([]byte(privateKey)) + // Use key based auth if there is a private key in the state bag + if privateKey, ok := state.GetOk("private_key"); ok { + signer, err := ssh.ParsePrivateKey([]byte(privateKey.(string))) if err != nil { return nil, fmt.Errorf("Error setting up SSH config: %s", err) } diff --git a/builder/scaleway/step_create_ssh_key.go b/builder/scaleway/step_create_ssh_key.go index c5405ccd6..4272d9ff4 100644 --- a/builder/scaleway/step_create_ssh_key.go +++ b/builder/scaleway/step_create_ssh_key.go @@ -36,7 +36,7 @@ func (s *stepCreateSSHKey) Run(_ context.Context, state multistep.StateBag) mult return multistep.ActionHalt } - state.Put("privateKey", string(privateKeyBytes)) + state.Put("private_key", string(privateKeyBytes)) state.Put("ssh_pubkey", "") return multistep.ActionContinue @@ -61,7 +61,7 @@ func (s *stepCreateSSHKey) Run(_ context.Context, state multistep.StateBag) mult } // Set the private key in the statebag for later - state.Put("privateKey", string(pem.EncodeToMemory(&priv_blk))) + state.Put("private_key", string(pem.EncodeToMemory(&priv_blk))) pub, _ := ssh.NewPublicKey(&priv.PublicKey) pub_sshformat := string(ssh.MarshalAuthorizedKey(pub))