cmd/puppeth: make ssh prompt more user-friendly
This commit is contained in:
parent
c5b46a79c1
commit
216ff5a952
@ -129,15 +129,20 @@ func dial(server string, pubkey []byte) (*sshClient, error) {
|
|||||||
fmt.Printf("SSH key fingerprint is %s [MD5]\n", ssh.FingerprintLegacyMD5(key))
|
fmt.Printf("SSH key fingerprint is %s [MD5]\n", ssh.FingerprintLegacyMD5(key))
|
||||||
fmt.Printf("Are you sure you want to continue connecting (yes/no)? ")
|
fmt.Printf("Are you sure you want to continue connecting (yes/no)? ")
|
||||||
|
|
||||||
text, err := bufio.NewReader(os.Stdin).ReadString('\n')
|
for {
|
||||||
switch {
|
text, err := bufio.NewReader(os.Stdin).ReadString('\n')
|
||||||
case err != nil:
|
switch {
|
||||||
return err
|
case err != nil:
|
||||||
case strings.TrimSpace(text) == "yes":
|
return err
|
||||||
pubkey = key.Marshal()
|
case strings.TrimSpace(text) == "yes":
|
||||||
return nil
|
pubkey = key.Marshal()
|
||||||
default:
|
return nil
|
||||||
return fmt.Errorf("unknown auth choice: %v", text)
|
case strings.TrimSpace(text) == "no":
|
||||||
|
return errors.New("users says no")
|
||||||
|
default:
|
||||||
|
fmt.Println("Please answer 'yes' or 'no'")
|
||||||
|
continue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If a public key exists for this SSH server, check that it matches
|
// If a public key exists for this SSH server, check that it matches
|
||||||
|
Loading…
Reference in New Issue
Block a user