feat: SSH terminal - the agent connects by SSH to another host (password, key file or its own keys) and the shell opens in a tab with the connection's progress shown; host keys trusted on first use, a changed one refused

This commit is contained in:
redtea committed 2026-10-14 21:20:18 +03:00
1 parent 5a204ae9bb
commit 5a4dc596d5
7 files changed
+515 -21

No files matched your search

+7
View File
@@ -100,6 +100,13 @@ func (h *Hub) CreateSession(agentID, user string) *Session {
return s
}
// CreateSSH registers a terminal session the agent opens by SSH to t.
func (h *Hub) CreateSSH(agentID string, t proto.SSHTarget) *Session {
s := h.newSession(agentID)
h.enqueueJob(agentID, proto.ControlMessage{Type: proto.CtrlOpenSSH, SessionID: s.ID, SSH: &t})
return s
}
// CreateForward registers a port-forward stream (agent dials 127.0.0.1:port).
func (h *Hub) CreateForward(agentID string, port int) *Session {
s := h.newSession(agentID)