From 80be538d5ca64ec8315c6ed5e9306012e056d1bd Mon Sep 17 00:00:00 2001 From: Kaleb Elwert Date: Fri, 3 Feb 2017 16:20:43 -0800 Subject: [PATCH] Add ServerVersion as an option in the config --- server.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server.go b/server.go index c6ae8c2..0697b8d 100644 --- a/server.go +++ b/server.go @@ -15,6 +15,7 @@ type Server struct { Addr string // TCP address to listen on, ":22" if empty Handler Handler // handler to invoke, ssh.DefaultHandler if nil HostSigners []Signer // private keys for the host key, must have at least one + Version string // server version to be sent before the initial handshake PasswordHandler PasswordHandler // password authentication handler PublicKeyHandler PublicKeyHandler // public key authentication handler @@ -37,6 +38,9 @@ func (srv *Server) makeConfig() (*gossh.ServerConfig, error) { if srv.PasswordHandler == nil && srv.PublicKeyHandler == nil { config.NoClientAuth = true } + if srv.Version != "" { + config.ServerVersion = "SSH-2.0-" + srv.Version + } if srv.PasswordHandler != nil { config.PasswordCallback = func(conn gossh.ConnMetadata, password []byte) (*gossh.Permissions, error) { perms := &gossh.Permissions{}