Merge pull request #16934 from sethrylan/fix-16933

Add mkdir for `~/.ssh` directory.
pull/17032/head
Steven Powell 2023-08-10 10:16:26 -07:00 committed by GitHub
commit 1c430a46ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 2 deletions

View File

@ -88,9 +88,16 @@ func appendKnownHelper(nodeName string, appendKnown bool) {
if port != 22 {
host = fmt.Sprintf("[%s]:%d", addr, port)
}
knownHosts := filepath.Join(homedir.HomeDir(), ".ssh", "known_hosts")
fmt.Fprintf(os.Stderr, "Host added: %s (%s)\n", knownHosts, host)
sshDir := filepath.Join(homedir.HomeDir(), ".ssh")
err = os.MkdirAll(sshDir, os.FileMode(0700)) // drwx------, to match ssh-keygen behavior
if err != nil {
out.ErrLn("MkdirAll: %v", err)
os.Exit(1)
}
knownHosts := filepath.Join(sshDir, "known_hosts")
if sshutil.KnownHost(host, knownHosts) {
return
}
@ -113,6 +120,8 @@ func appendKnownHelper(nodeName string, appendKnown bool) {
os.Exit(1)
}
fmt.Fprintf(os.Stderr, "Host added: %s (%s)\n", knownHosts, host)
return
}
}