X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/800139c8dee7d9a563a8a2dca9e45e283c55c22c..79693e508b0c2a61bc006994c6245697e32c2586:/lib/dispatchcloud/ssh_executor/executor.go diff --git a/lib/dispatchcloud/ssh_executor/executor.go b/lib/dispatchcloud/ssh_executor/executor.go index d0fb54c54c..feed1c2a78 100644 --- a/lib/dispatchcloud/ssh_executor/executor.go +++ b/lib/dispatchcloud/ssh_executor/executor.go @@ -38,6 +38,7 @@ func New(t cloud.ExecutorTarget) *Executor { type Executor struct { target cloud.ExecutorTarget targetPort string + targetUser string signers []ssh.Signer mtx sync.RWMutex // controls access to instance after creation @@ -182,6 +183,9 @@ func (exr *Executor) setupSSHClient() (*ssh.Client, error) { if h, p, err := net.SplitHostPort(addr); err != nil || p == "" { // Target address does not specify a port. Use // targetPort, or "ssh". + if h == "" { + h = addr + } if p = exr.targetPort; p == "" { p = "ssh" } @@ -189,7 +193,7 @@ func (exr *Executor) setupSSHClient() (*ssh.Client, error) { } var receivedKey ssh.PublicKey client, err := ssh.Dial("tcp", addr, &ssh.ClientConfig{ - User: "root", + User: target.RemoteUser(), Auth: []ssh.AuthMethod{ ssh.PublicKeys(exr.signers...), },