Skip to content

Commit d42f0a4

Browse files
wxiaoguangzeripath
andcommitted
Update modules/ssh/init.go
Co-authored-by: zeripath <[email protected]>
1 parent b730217 commit d42f0a4

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

modules/ssh/init.go

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,27 @@ func Init() error {
2323
net.JoinHostPort(setting.SSH.ListenHost, strconv.Itoa(setting.SSH.ListenPort)),
2424
setting.SSH.ServerCiphers, setting.SSH.ServerKeyExchanges, setting.SSH.ServerMACs,
2525
)
26-
} else {
27-
builtinUnused()
28-
// FIXME: why 0o644 for a directory .....
29-
if err := os.MkdirAll(setting.SSH.KeyTestPath, 0o644); err != nil {
30-
return fmt.Errorf("failed to create directory %q for ssh key test: %w", setting.SSH.KeyTestPath, err)
26+
return nil
27+
}
28+
29+
builtinUnused()
30+
31+
// FIXME: why 0o644 for a directory .....
32+
if err := os.MkdirAll(setting.SSH.KeyTestPath, 0o644); err != nil {
33+
return fmt.Errorf("failed to create directory %q for ssh key test: %w", setting.SSH.KeyTestPath, err)
34+
}
35+
36+
if len(setting.SSH.TrustedUserCAKeys) > 0 && setting.SSH.AuthorizedPrincipalsEnabled {
37+
caKeysFileName := setting.SSH.TrustedUserCAKeysFile
38+
caKeysFileDir := filepath.Dir(caKeysFileName)
39+
40+
err := os.MkdirAll(caKeysFileDir, 0o700) // it should be the SSH.RootPath by default (`~/.ssh` in most cases)
41+
if err != nil {
42+
return fmt.Errorf("failed to create directory %q for ssh trusted ca keys: %w", caKeysFileDir, err)
3143
}
32-
if len(setting.SSH.TrustedUserCAKeys) > 0 && setting.SSH.AuthorizedPrincipalsEnabled {
33-
caKeysFileName := setting.SSH.TrustedUserCAKeysFile
34-
caKeysFileDir := filepath.Dir(caKeysFileName)
35-
36-
err := os.MkdirAll(caKeysFileDir, 0o700) // it should be the `~/.ssh` directory in most cases
37-
if err != nil {
38-
return fmt.Errorf("failed to create directory %q for ssh trusted ca keys: %w", caKeysFileDir, err)
39-
}
40-
41-
if err := os.WriteFile(caKeysFileName, []byte(strings.Join(setting.SSH.TrustedUserCAKeys, "\n")), 0o600); err != nil {
42-
return fmt.Errorf("failed to write ssh trusted ca keys to %q: %w", caKeysFileName, err)
43-
}
44+
45+
if err := os.WriteFile(caKeysFileName, []byte(strings.Join(setting.SSH.TrustedUserCAKeys, "\n")), 0o600); err != nil {
46+
return fmt.Errorf("failed to write ssh trusted ca keys to %q: %w", caKeysFileName, err)
4447
}
4548
}
4649

0 commit comments

Comments
 (0)