|
|
|
@ -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("Are you sure you want to continue connecting (yes/no)? ") |
|
|
|
|
|
|
|
|
|
text, err := bufio.NewReader(os.Stdin).ReadString('\n') |
|
|
|
|
switch { |
|
|
|
|
case err != nil: |
|
|
|
|
return err |
|
|
|
|
case strings.TrimSpace(text) == "yes": |
|
|
|
|
pubkey = key.Marshal() |
|
|
|
|
return nil |
|
|
|
|
default: |
|
|
|
|
return fmt.Errorf("unknown auth choice: %v", text) |
|
|
|
|
for { |
|
|
|
|
text, err := bufio.NewReader(os.Stdin).ReadString('\n') |
|
|
|
|
switch { |
|
|
|
|
case err != nil: |
|
|
|
|
return err |
|
|
|
|
case strings.TrimSpace(text) == "yes": |
|
|
|
|
pubkey = key.Marshal() |
|
|
|
|
return nil |
|
|
|
|
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
|
|
|
|
|