forked from urdt/ussd
Add auth conn string to ssh, use connstr for execs
This commit is contained in:
parent
599815c343
commit
1fa830f286
@ -63,7 +63,7 @@ func main() {
|
|||||||
if connStr != "" {
|
if connStr != "" {
|
||||||
connStr = config.DbConn
|
connStr = config.DbConn
|
||||||
}
|
}
|
||||||
connData, err := storage.ToConnData(config.DbConn)
|
connData, err := storage.ToConnData(connStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -74,7 +74,7 @@ func main() {
|
|||||||
if connStr != "" {
|
if connStr != "" {
|
||||||
connStr = config.DbConn
|
connStr = config.DbConn
|
||||||
}
|
}
|
||||||
connData, err := storage.ToConnData(config.DbConn)
|
connData, err := storage.ToConnData(connStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -62,7 +62,7 @@ func main() {
|
|||||||
if connStr != "" {
|
if connStr != "" {
|
||||||
connStr = config.DbConn
|
connStr = config.DbConn
|
||||||
}
|
}
|
||||||
connData, err := storage.ToConnData(config.DbConn)
|
connData, err := storage.ToConnData(connStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -55,7 +55,7 @@ func main() {
|
|||||||
if connStr != "" {
|
if connStr != "" {
|
||||||
connStr = config.DbConn
|
connStr = config.DbConn
|
||||||
}
|
}
|
||||||
connData, err := storage.ToConnData(config.DbConn)
|
connData, err := storage.ToConnData(connStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -37,7 +37,7 @@ func main() {
|
|||||||
config.LoadConfig()
|
config.LoadConfig()
|
||||||
|
|
||||||
var connStr string
|
var connStr string
|
||||||
var dbDir string
|
var authConnStr string
|
||||||
var resourceDir string
|
var resourceDir string
|
||||||
var size uint
|
var size uint
|
||||||
var engineDebug bool
|
var engineDebug bool
|
||||||
@ -45,6 +45,7 @@ func main() {
|
|||||||
var host string
|
var host string
|
||||||
var port uint
|
var port uint
|
||||||
flag.StringVar(&connStr, "c", "", "connection string")
|
flag.StringVar(&connStr, "c", "", "connection string")
|
||||||
|
flag.StringVar(&authConnStr, "authdb", "", "auth connection string")
|
||||||
flag.StringVar(&resourceDir, "resourcedir", path.Join("services", "registration"), "resource dir")
|
flag.StringVar(&resourceDir, "resourcedir", path.Join("services", "registration"), "resource dir")
|
||||||
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
||||||
flag.UintVar(&size, "s", 160, "max size of output")
|
flag.UintVar(&size, "s", 160, "max size of output")
|
||||||
@ -52,14 +53,22 @@ func main() {
|
|||||||
flag.UintVar(&port, "p", 7122, "socket port")
|
flag.UintVar(&port, "p", 7122, "socket port")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
if connStr != "" {
|
if connStr == "" {
|
||||||
connStr = config.DbConn
|
connStr = config.DbConn
|
||||||
}
|
}
|
||||||
connData, err := storage.ToConnData(config.DbConn)
|
if authConnStr == "" {
|
||||||
|
authConnStr = connStr
|
||||||
|
}
|
||||||
|
connData, err := storage.ToConnData(connStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
authConnData, err := storage.ToConnData(authConnStr)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "auth connstr err: %v", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
sshKeyFile := flag.Arg(0)
|
sshKeyFile := flag.Arg(0)
|
||||||
_, err = os.Stat(sshKeyFile)
|
_, err = os.Stat(sshKeyFile)
|
||||||
@ -75,7 +84,7 @@ func main() {
|
|||||||
logg.WarnCtxf(ctx, "!!!!! Do not expose to internet and only use with tunnel!")
|
logg.WarnCtxf(ctx, "!!!!! Do not expose to internet and only use with tunnel!")
|
||||||
logg.WarnCtxf(ctx, "!!!!! (See ssh -L <...>)")
|
logg.WarnCtxf(ctx, "!!!!! (See ssh -L <...>)")
|
||||||
|
|
||||||
logg.Infof("start command", "dbdir", dbDir, "resourcedir", resourceDir, "outputsize", size, "keyfile", sshKeyFile, "host", host, "port", port)
|
logg.Infof("start command", "conn", connData, "authconn", authConnData, "resourcedir", resourceDir, "outputsize", size, "keyfile", sshKeyFile, "host", host, "port", port)
|
||||||
|
|
||||||
pfp := path.Join(scriptDir, "pp.csv")
|
pfp := path.Join(scriptDir, "pp.csv")
|
||||||
|
|
||||||
@ -91,7 +100,7 @@ func main() {
|
|||||||
cfg.EngineDebug = true
|
cfg.EngineDebug = true
|
||||||
}
|
}
|
||||||
|
|
||||||
authKeyStore, err := ssh.NewSshKeyStore(ctx, dbDir)
|
authKeyStore, err := ssh.NewSshKeyStore(ctx, authConnData.String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "keystore file open error: %v", err)
|
fmt.Fprintf(os.Stderr, "keystore file open error: %v", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -41,6 +41,7 @@ func NewAuther(ctx context.Context, keyStore *SshKeyStore) *auther {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func(a *auther) Check(conn ssh.ConnMetadata, pubKey ssh.PublicKey) (*ssh.Permissions, error) {
|
func(a *auther) Check(conn ssh.ConnMetadata, pubKey ssh.PublicKey) (*ssh.Permissions, error) {
|
||||||
|
logg.TraceCtxf(a.Ctx, "looking for publickey", "pubkey", fmt.Sprintf("%x", pubKey))
|
||||||
va, err := a.keyStore.Get(a.Ctx, pubKey)
|
va, err := a.keyStore.Get(a.Ctx, pubKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
Loading…
Reference in New Issue
Block a user