sshserver: enable ssh port forwarding
diff --git a/loop/server/sshserver.go b/loop/server/sshserver.go
index 9946ac9..0ba2d8b 100644
--- a/loop/server/sshserver.go
+++ b/loop/server/sshserver.go
@@ -51,6 +51,7 @@
 	if err != nil {
 		return fmt.Errorf("ServeSSH: failed to parse host private key, err: %w", err)
 	}
+	forwardHandler := &ssh.ForwardedTCPHandler{}
 
 	server := ssh.Server{
 		LocalPortForwardingCallback: ssh.LocalPortForwardingCallback(func(ctx ssh.Context, dhost string, dport uint32) bool {
@@ -67,6 +68,10 @@
 				handleSession(ctx, s)
 			}
 		}),
+		RequestHandlers: map[string]ssh.RequestHandler{
+			"tcpip-forward":        forwardHandler.HandleSSHRequest,
+			"cancel-tcpip-forward": forwardHandler.HandleSSHRequest,
+		},
 		HostSigners: []ssh.Signer{signer},
 		PublicKeyHandler: func(ctx ssh.Context, key ssh.PublicKey) bool {
 			// Check if the provided key matches any of our allowed keys