mirror of
https://github.com/nwtgck/handy-sshd.git
synced 2025-06-08 07:03:04 +00:00
support --unix-socket
This commit is contained in:
parent
101f99e80e
commit
e4f1e0989d
1 changed files with 23 additions and 11 deletions
16
cmd/root.go
16
cmd/root.go
|
@ -18,6 +18,7 @@ var flag struct {
|
|||
showsVersion bool
|
||||
sshHost string
|
||||
sshPort uint16
|
||||
sshUnixSocket string
|
||||
sshShell string
|
||||
sshUsers []string
|
||||
}
|
||||
|
@ -32,6 +33,8 @@ func init() {
|
|||
RootCmd.PersistentFlags().BoolVarP(&flag.showsVersion, "version", "v", false, "show version")
|
||||
RootCmd.PersistentFlags().StringVarP(&flag.sshHost, "host", "", "", "SSH server host (e.g. 127.0.0.1)")
|
||||
RootCmd.PersistentFlags().Uint16VarP(&flag.sshPort, "port", "p", 2222, "SSH server port")
|
||||
// NOTE: long name 'unix-socket' is from curl (ref: https://curl.se/docs/manpage.html)
|
||||
RootCmd.PersistentFlags().StringVarP(&flag.sshUnixSocket, "unix-socket", "", "", "Unix-domain socket")
|
||||
RootCmd.PersistentFlags().StringVarP(&flag.sshShell, "shell", "", "", "Shell")
|
||||
//RootCmd.PersistentFlags().StringVar(&flag.dnsServer, "dns-server", "", "DNS server (e.g. 1.1.1.1:53)")
|
||||
RootCmd.PersistentFlags().StringArrayVarP(&flag.sshUsers, "user", "", nil, `SSH user name (e.g. "john:mypassword")`)
|
||||
|
@ -90,13 +93,22 @@ var RootCmd = &cobra.Command{
|
|||
}
|
||||
sshConfig.AddHostKey(pri)
|
||||
|
||||
// TODO: unix socket support
|
||||
var ln net.Listener
|
||||
if flag.sshUnixSocket == "" {
|
||||
address := net.JoinHostPort(flag.sshHost, strconv.Itoa(int(flag.sshPort)))
|
||||
ln, err := net.Listen("tcp", address)
|
||||
ln, err = net.Listen("tcp", address)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
logger.Info(fmt.Sprintf("listening on %s...", address))
|
||||
} else {
|
||||
ln, err = net.Listen("unix", flag.sshUnixSocket)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
logger.Info(fmt.Sprintf("listening on %s...", flag.sshUnixSocket))
|
||||
}
|
||||
defer ln.Close()
|
||||
for {
|
||||
conn, err := ln.Accept()
|
||||
if err != nil {
|
||||
|
|
Loading…
Add table
Reference in a new issue