Skip to content

feat: authenticate sftp installations with ssh keys - #86

Open
coderandhiker wants to merge 1 commit into
satisfactorymodding:masterfrom
coderandhiker:feat/sftp-ssh-key-auth
Open

coderandhiker wants to merge 1 commit into
satisfactorymodding:masterfrom
coderandhiker:feat/sftp-ssh-key-auth

Conversation

@coderandhiker

@coderandhiker coderandhiker commented Sep 18, 2026 •

Copy link
Copy Markdown

sftp installations could only authenticate with a password in the url, so servers that disable password authentication could not be managed.

sftp now also offers public keys from a running ssh agent (SSH_AUTH_SOCK, or the OpenSSH agent's named pipe on windows) and from the unencrypted default key files in ~/.ssh. Passphrase-protected key files are skipped with a hint to add them to the agent. A password in the url is still tried first, so existing installations behave as before.

The test serves sftp in-process with the ssh and sftp packages already in use, so it runs without the docker sftp container.

Refs satisfactorymodding/SatisfactoryModManager#304 but the fix looks to be here. I filed a bug fix related PR for the SMM desktop app: satisfactorymodding/SatisfactoryModManager#367.

sftp installations could only authenticate with a password in the url, so
servers that disable password authentication could not be managed.

sftp now also offers public keys from a running ssh agent (SSH_AUTH_SOCK, or
the OpenSSH agent's named pipe on windows) and from the unencrypted default
key files in ~/.ssh. Passphrase-protected key files are skipped with a hint
to add them to the agent. A password in the url is still tried first, so
existing installations behave as before.

The test serves sftp in-process with the ssh and sftp packages already in
use, so it runs without the docker sftp container.

Refs satisfactorymodding/SatisfactoryModManager#304
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant