ターミナル上でパスワードを入力するとき、画面上には表示されないようにしたい。
そんなときに golang.org/x/crypto の ssh/terminal が使える
func askCred() (string, string) {
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter Username: ")
username, _ := reader.ReadString('\n')
fmt.Print("Enter Password: ")
bytePassword, err := terminal.ReadPassword(0)
if err != nil {
log.Fatal(err)
}
fmt.Println("\nPassword typed: " + string(bytePassword))
password := string(bytePassword)
return strings.TrimSpace(username), strings.TrimSpace(password)
}