projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
14287: Refactor controller to use strong types in API handlers.
[arvados.git]
/
lib
/
dispatchcloud
/
ssh_executor
/
executor.go
diff --git
a/lib/dispatchcloud/ssh_executor/executor.go
b/lib/dispatchcloud/ssh_executor/executor.go
index d0fb54c54cd932df806e0129a0f92d78cd3a9999..feed1c2a78b82a84821f22eee99e39e960dbd431 100644
(file)
--- 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
type Executor struct {
target cloud.ExecutorTarget
targetPort string
+ targetUser string
signers []ssh.Signer
mtx sync.RWMutex // controls access to instance after creation
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, 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"
}
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{
}
var receivedKey ssh.PublicKey
client, err := ssh.Dial("tcp", addr, &ssh.ClientConfig{
- User:
"root"
,
+ User:
target.RemoteUser()
,
Auth: []ssh.AuthMethod{
ssh.PublicKeys(exr.signers...),
},
Auth: []ssh.AuthMethod{
ssh.PublicKeys(exr.signers...),
},