in helpers/ssh/ssh_command.go [68:107]
func (s *Client) Connect() error {
if s.Host == "" {
s.Host = "localhost"
}
if s.User == "" {
s.User = "root"
}
if s.Port == "" {
s.Port = "22"
}
methods, err := s.getSSHAuthMethods()
if err != nil {
return err
}
config := &ssh.ClientConfig{
User: s.User,
Auth: methods,
}
connectRetries := s.ConnectRetries
if connectRetries == 0 {
connectRetries = 3
}
var finalError error
for i := 0; i < connectRetries; i++ {
client, err := ssh.Dial("tcp", s.Host+":"+s.Port, config)
if err == nil {
s.client = client
return nil
}
time.Sleep(sshRetryInterval * time.Second)
finalError = err
}
return finalError
}