- commit
- 825fa62
- parent
- 4dce36e
- author
- Eric Bower
- date
- 2026-01-16 22:55:04 -0500 EST
feat(ssh): find pubkey name and use as identity for access logs
2 files changed,
+12,
-1
+7,
-1
1@@ -68,7 +68,13 @@ func (me *PgsPsqlDB) FindUserByPubkey(key string) (*db.User, error) {
2 return nil, &db.ErrMultiplePublicKeys{}
3 }
4
5- return me.FindUser(pk[0].UserID)
6+ user, err := me.FindUser(pk[0].UserID)
7+ if err != nil {
8+ return nil, err
9+ }
10+
11+ user.PublicKey = &pk[0]
12+ return user, nil
13 }
14
15 func (me *PgsPsqlDB) FindUser(userID string) (*db.User, error) {
1@@ -107,6 +107,11 @@ func (r *SshAuthHandler) PubkeyAuthHandler(conn ssh.ConnMetadata, key ssh.Public
2 return nil, fmt.Errorf("username is not set")
3 }
4
5+ if user.PublicKey != nil && user.PublicKey.Name != "" {
6+ authed.Identity = user.PublicKey.Name
7+ }
8+
9+ log.Info("inserting access log", "principal", r.Principal, "identity", authed.Identity)
10 err = r.DB.InsertAccessLog(&db.AccessLog{
11 UserID: user.ID,
12 Service: r.Principal,