fix: send ssh username to guacd (default root) for console SSH

This commit is contained in:
2026-07-17 11:54:33 +01:00
parent 50907448d2
commit 1ad5b5d6db
6 changed files with 43 additions and 5 deletions
+9 -1
View File
@@ -21,6 +21,7 @@ func consoleConnect(c *gin.Context) {
KeyID string `json:"key_id"`
RDPUsername string `json:"rdp_username"`
RDPPassword string `json:"rdp_password"`
SSHUsername string `json:"ssh_username"`
}
if err := c.ShouldBindJSON(&body); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
@@ -51,6 +52,13 @@ func consoleConnect(c *gin.Context) {
}
}
if body.Protocol == "ssh" {
if err := services.SetConsoleSSHUser(sess.SessionID, body.SSHUsername); err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
}
services.LogEvent("console.opened", actorFromCtx(c), srv.ServerID, "",
"console session opened ("+body.Protocol+")")
@@ -98,7 +106,7 @@ func consoleTunnel(c *gin.Context) {
return
}
}
gp, err := services.BuildGuacParams(srv, sess.Protocol, privKey, rdpUser, rdpPass)
gp, err := services.BuildGuacParams(srv, sess.Protocol, sess.SSHUsername, privKey, rdpUser, rdpPass)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return