// addKeys adds keys to akd as name. func addKeys(akd *keys.SSHAuthorizedKeysDir, name string, force bool) error { k := []byte{} files := []*os.File{} if flag.NArg() > 0 { // read from files for _, fp := range flag.Args() { f, err := os.Open(fp) if err != nil { return err } defer f.Close() files = append(files, f) } } else { // read from stdin files = append(files, os.Stdin) } for _, f := range files { b, err := ioutil.ReadAll(f) if err != nil { return err } k = append(k, b...) } if !validKeys(k) { return fmt.Errorf("key(s) invalid.") } return akd.Add(name, k, *flagReplace, force) }