From f78e3092fbb4ba8ed2d7b1080be87a30018d7e51 Mon Sep 17 00:00:00 2001 From: Yves Biener Date: Fri, 31 Oct 2025 23:03:30 +0100 Subject: [PATCH] mod: copy `stderr` from ssh session to locally running processes `stderr` Log the `serve` version in the beginning with a closing log message. --- internal/serve/serve.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/serve/serve.go b/internal/serve/serve.go index 8682289..95d25fa 100644 --- a/internal/serve/serve.go +++ b/internal/serve/serve.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "io" "net" "os" "os/signal" @@ -56,14 +57,10 @@ func setupSshServer(host string, port string, host_key_path string, users map[st func(next ssh.Handler) ssh.Handler { return func(s ssh.Session) { cmd := wish.Command(s, name, args...) - file, err := os.OpenFile("log", os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0600) - if err != nil { - wish.Fatalln(s, err) - } - cmd.SetStderr(file) if err := cmd.Run(); err != nil { wish.Fatalln(s, err) } + io.Copy(os.Stderr, s.Stderr()) next(s) } }, @@ -76,6 +73,9 @@ func setupSshServer(host string, port string, host_key_path string, users map[st // Serve an ssh application using the provided arguments. func Serve(host string, port string, host_key_path string, users map[string]string, name string, args []string) { setupLogging() + log.Info("Running Serve (v2.7)...") // TODO make version string automatically the git tag (otherwise commit-hash)? + defer log.Info("Stopping Serve...") + srv, err := setupSshServer(host, port, host_key_path, users, name, args) if err != nil { log.Error("Could not start server", "error", err)