cloud/shepherd: move ssh client to own package
Change-Id: I56ad16f8f2f355243c5c0414656bbfbbff1faef5
Reviewed-on: https://review.monogon.dev/c/monogon/+/2791
Reviewed-by: Serge Bazanski <serge@monogon.tech>
Tested-by: Jenkins CI
diff --git a/cloud/shepherd/mini/ssh.go b/cloud/shepherd/mini/ssh.go
index 99f3e90..1a2d23c 100644
--- a/cloud/shepherd/mini/ssh.go
+++ b/cloud/shepherd/mini/ssh.go
@@ -4,10 +4,11 @@
"flag"
"fmt"
- "golang.org/x/crypto/ssh"
+ xssh "golang.org/x/crypto/ssh"
"k8s.io/klog/v2"
"source.monogon.dev/cloud/shepherd/manager"
+ "source.monogon.dev/go/net/ssh"
)
type sshConfig struct {
@@ -36,18 +37,18 @@
sc.SSHKey.RegisterFlags()
}
-func (sc *sshConfig) NewClient() (*manager.PlainSSHClient, error) {
+func (sc *sshConfig) NewClient() (*ssh.DirectClient, error) {
if err := sc.check(); err != nil {
return nil, err
}
- c := manager.PlainSSHClient{
+ c := ssh.DirectClient{
Username: sc.User,
}
switch {
case sc.Pass != "":
- c.AuthMethod = ssh.Password(sc.Pass)
+ c.AuthMethod = xssh.Password(sc.Pass)
case sc.SSHKey.KeyPersistPath != "":
signer, err := sc.SSHKey.Signer()
if err != nil {
@@ -61,7 +62,7 @@
klog.Infof("Using ssh key auth with public key: %s", pubKey)
- c.AuthMethod = ssh.PublicKeys(signer)
+ c.AuthMethod = xssh.PublicKeys(signer)
}
return &c, nil
}