(setq tramp-ssh-controlmaster-options "-o ControlMaster=auto")))
(unless (zerop (length tramp-ssh-controlmaster-options))
(with-temp-buffer
- ;; When we use a non-existing host name, we could run
- ;; into DNS timeouts. So we use "localhost" with an
- ;; improper port, expecting nobody runs sshd on the
- ;; telnet port.
+ ;; We use a non-existing IP address, in order to avoid
+ ;; useless connections, and DNS timeouts.
(tramp-call-process
- vec "ssh" nil t nil
- "-p" "23" "-o" "ControlPath=%C" "localhost")
+ vec "ssh" nil t nil "-o" "ControlPath=%C" "0.0.0.1")
(goto-char (point-min))
(setq tramp-ssh-controlmaster-options
- (if (search-forward-regexp "unknown.+key" nil t)
- (concat tramp-ssh-controlmaster-options
- " -o ControlPath='tramp.%%r@%%h:%%p'")
- (concat tramp-ssh-controlmaster-options
+ (concat tramp-ssh-controlmaster-options
+ (if (search-forward-regexp "unknown.+key" nil t)
+ " -o ControlPath='tramp.%%r@%%h:%%p'"
" -o ControlPath='tramp.%%C'"))))
(with-temp-buffer
(tramp-call-process vec "ssh" nil t nil "-o" "ControlPersist")