grim/hgkeeper

closing merged branch
styling
2019-04-18, Gary Kramlich
110f88f716e7
closing merged branch
package ssh
import (
"errors"
"io/ioutil"
"path/filepath"
log "github.com/sirupsen/logrus"
"golang.org/x/crypto/ssh"
)
func (s *Server) loadHostKeys(hostKeysPath string) error {
files, err := ioutil.ReadDir(hostKeysPath)
if err != nil {
return err
}
found := false
for _, file := range files {
if file.Mode().IsRegular() {
path := filepath.Join(hostKeysPath, file.Name())
data, err := ioutil.ReadFile(path)
if err != nil {
log.Warnf("failed to read %s", path)
continue
}
key, err := ssh.ParsePrivateKey(data)
if err != nil {
log.Warnf("%s is not an ssh private key", path)
continue
}
s.cfg.AddHostKey(key)
found = true
log.Infof("added host key from %s", path)
}
}
if !found {
return errors.New("failed to find a useable host key")
}
return nil
}