Refactor SSH init code, fix directory creation for TrustedUserCAKeys file (#20299) #20306
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport #20299
Follow #20298 (for 1.17)
In #20298, the
~/.ssh
is not created automatically, but that PR is not ideal: indeed, only theGlobalInitInstalled
function should prepare the SSH files for external server or starts the builtin server.This PR should make the logic clear and reduce some dependencies between modules.
Major changes:
trustedUserCaKeys
is removed, useSSH.TrustedUserCAKeys
directly, it has been parsed by ini module correctlyssh.Init
, move the SSH init code fromrouters/init.go
to itssh.Init
will start builtin SSH server or prepare external SSH server filesThis PR could also to be considered as a bug fix for #20298, otherwise the
os.WriteFile(fname/*ca file*/,
might fail.