grim/hgkeeper

Make sure we have our test dependencies

14 months ago, Gary Kramlich
a2db929144c4
Make sure we have our test dependencies
package ssh
import (
"errors"
"io/ioutil"
"path/filepath"
"go.uber.org/zap"
"golang.org/x/crypto/ssh"
)
func (s *Server) setHostKeysPath(hostKeysPath string) error {
files, err := ioutil.ReadDir(hostKeysPath)
if err != nil {
return err
}
found := false
for _, file := range files {
if !file.Mode().IsDir() {
path := filepath.Join(hostKeysPath, file.Name())
data, err := ioutil.ReadFile(path)
if err != nil {
zap.S().Warnf("failed to read %s", path)
continue
}
key, err := ssh.ParsePrivateKey(data)
if err != nil {
zap.S().Warnf("%s is not an ssh private key", path)
continue
}
s.server.AddHostKey(key)
found = true
zap.S().Infof("added host key from %s", path)
}
}
if !found {
return errors.New("failed to find a usable host key")
}
return nil
}