|
4 | 4 | package shim |
5 | 5 |
|
6 | 6 | import ( |
7 | | - "bauklotze/pkg/machine/channel" |
8 | | - "bauklotze/pkg/machine/define" |
9 | | - "bauklotze/pkg/machine/vmconfig" |
10 | 7 | "context" |
11 | 8 | "fmt" |
12 | | - "net" |
13 | 9 | "os" |
14 | 10 | "path/filepath" |
15 | 11 |
|
| 12 | + "bauklotze/pkg/machine/channel" |
| 13 | + "bauklotze/pkg/machine/define" |
| 14 | + "bauklotze/pkg/machine/vmconfig" |
| 15 | + |
16 | 16 | "golang.org/x/sync/errgroup" |
17 | 17 |
|
18 | | - "github.com/oomol-lab/ovm-ssh-agent/pkg/sshagent" |
19 | | - "github.com/oomol-lab/ovm-ssh-agent/pkg/system" |
| 18 | + "github.com/oomol-lab/ovm-ssh-agent/v3/pkg/sshagent" |
| 19 | + "github.com/oomol-lab/ovm-ssh-agent/v3/pkg/system" |
20 | 20 |
|
21 | | - "github.com/oomol-lab/ovm-ssh-agent/pkg/identity" |
| 21 | + "github.com/oomol-lab/ovm-ssh-agent/v3/pkg/identity" |
22 | 22 | forwarder "github.com/oomol-lab/ssh-forward" |
23 | 23 |
|
24 | 24 | "github.com/sirupsen/logrus" |
@@ -47,29 +47,20 @@ func startSSHAuthServiceAndForward(ctx context.Context, mc *vmconfig.MachineConf |
47 | 47 | return fmt.Errorf("failed to remove local ssh agent socket: %w", err) |
48 | 48 | } |
49 | 49 |
|
50 | | - listener, err := net.Listen("unix", localSocketFile) |
51 | | - if err != nil { |
52 | | - return fmt.Errorf("failed to listen unix socket: %w", err) |
53 | | - } |
54 | | - defer listener.Close() |
55 | | - |
56 | 50 | upstreamSocket := system.GetSSHAgent() |
57 | 51 | if upstreamSocket == "" { |
58 | 52 | return fmt.Errorf("upstream SSH agent socket empty") |
59 | 53 | } |
60 | 54 | logrus.Infof("upstream ssh agent listened in: %q", upstreamSocket) |
61 | 55 |
|
62 | | - ooSSHAgent, err := sshagent.NewSSHAgent(ctx, upstreamSocket) |
63 | | - if err != nil { |
64 | | - return fmt.Errorf("failed to create oo ssh agent: %w", err) |
65 | | - } |
| 56 | + ooSSHAgent := sshagent.NewSSHAgent(ctx, upstreamSocket, localSocketFile) |
66 | 57 | defer ooSSHAgent.Close() |
67 | 58 |
|
68 | 59 | // find local private keys ~/.ssh |
69 | 60 | ooSSHAgent.LoadLocalKeys(identity.FindPrivateKeys()...) |
70 | 61 |
|
71 | 62 | g.Go(func() error { |
72 | | - return ooSSHAgent.Serve(listener) |
| 63 | + return ooSSHAgent.Serve() |
73 | 64 | }) |
74 | 65 |
|
75 | 66 | remoteSocketFile := "/opt/ssh_auth/oo-ssh-agent.sock" |
@@ -106,5 +97,9 @@ func startSSHAuthServiceAndForward(ctx context.Context, mc *vmconfig.MachineConf |
106 | 97 | return socketForwarder.Start(ctx) |
107 | 98 | }) |
108 | 99 |
|
109 | | - return g.Wait() //nolint:wrapcheck |
| 100 | + if err := g.Wait(); err != nil { |
| 101 | + return fmt.Errorf("failed to start ssh auth service: %w", err) |
| 102 | + } |
| 103 | + |
| 104 | + return nil |
110 | 105 | } |
0 commit comments