@@ -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