github.com/hs0210/hashicorp-terraform@v0.11.12-beta1/communicator/ssh/password.go (about) 1 package ssh 2 3 import ( 4 "log" 5 6 "golang.org/x/crypto/ssh" 7 ) 8 9 // An implementation of ssh.KeyboardInteractiveChallenge that simply sends 10 // back the password for all questions. The questions are logged. 11 func PasswordKeyboardInteractive(password string) ssh.KeyboardInteractiveChallenge { 12 return func(user, instruction string, questions []string, echos []bool) ([]string, error) { 13 log.Printf("Keyboard interactive challenge: ") 14 log.Printf("-- User: %s", user) 15 log.Printf("-- Instructions: %s", instruction) 16 for i, question := range questions { 17 log.Printf("-- Question %d: %s", i+1, question) 18 } 19 20 // Just send the password back for all questions 21 answers := make([]string, len(questions)) 22 for i := range answers { 23 answers[i] = string(password) 24 } 25 26 return answers, nil 27 } 28 }