]> ruderich.org/simon Gitweb - safcm/safcm.git/commitdiff
config: add Host option "ssh_user"
authorSimon Ruderich <simon@ruderich.org>
Sat, 3 Apr 2021 13:57:54 +0000 (15:57 +0200)
committerSimon Ruderich <simon@ruderich.org>
Sat, 3 Apr 2021 13:57:54 +0000 (15:57 +0200)
If it's empty or not present the default user of `ssh` is used. This is
either the current user or the user configured in ~/.ssh/config.

cmd/safcm/config/hosts.go
cmd/safcm/sync.go
rpc/dial.go

index cf750cbc0024c7381142ae5852d640b60046fecc..119968769d2f769a9d2885045b968207913a99d1 100644 (file)
@@ -31,6 +31,8 @@ type Hosts struct {
 
 type Host struct {
        Name string `yaml:"name"`
+
+       SshUser string `yaml:"ssh_user"`
 }
 
 func LoadHosts() (*Hosts, error) {
index 09ffe854e1e7491727882f963a894ff9c801994e..7f1e090593b6c42dd14f028de056dd24990c9812 100644 (file)
@@ -310,7 +310,7 @@ func (s *Sync) Host(wg *sync.WaitGroup) error {
        }()
 
        // Connect to remote host
-       err := conn.DialSSH(s.host.Name)
+       err := conn.DialSSH(s.host.SshUser, s.host.Name)
        if err != nil {
                return err
        }
index b723e55c5657e78609d79b8019448636c3de5eef..40ac7f60712dacbe1070c0a04e91c6332b4ae5bf 100644 (file)
@@ -32,11 +32,15 @@ import (
        "ruderich.org/simon/safcm/remote"
 )
 
-func (c *Conn) DialSSH(remote string) error {
+func (c *Conn) DialSSH(user, host string) error {
        if c.events == nil {
                return fmt.Errorf("cannot reuse Conn")
        }
 
+       remote := host
+       if user != "" {
+               remote = user + "@" + host
+       }
        c.debugf("DialSSH: connecting to %q", remote)
 
        opts := "-eu"