Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust appveyor setup for SSH private key declaration #60

Closed
mih opened this issue Sep 13, 2023 · 0 comments · Fixed by #61
Closed

Adjust appveyor setup for SSH private key declaration #60

mih opened this issue Sep 13, 2023 · 0 comments · Fixed by #61

Comments

@mih
Copy link
Member

mih commented Sep 13, 2023

The ORA remote uses the datalad-core SSHManager. Apart from the complexity of OpenSSH deciding how to connect to a server, it adds support for the config setting datalad.ssh.identityfile. This is not only passed to ssh (overwriting any matching setting in its own host-based configuration), but is also used to determine an identifier for the socket name of a multiplex SSH connection (control master).

At present the test fixture recognized DATALAD_TESTS_RIA_SERVER_SSH_PATH for declaring a private key. The difference is, however, that datalad.ssh.identityfile applies to ANY connection. Declaring it for the entire runtime of the test battery will limit any SSH connection to this single key. This may be tolerable, but is certainly awkward.

I am thinking to complement the session-scope fixture ria_sshserver with a function-scope fixture that declares DATALAD_SSH_IDENTITYFILE based on the effective private key setup for the tests. This should limit the impact to individual tests only.

mih added a commit that referenced this issue Sep 13, 2023
This should be easier to use. The old implementation is now available in
`ria_sshserver_setup` and should be considered internal.

The new fixture returns the base RIA URL, and a local path to that same
root directory (if one exists).

It also sets `DATALAD_SSH_IDENTITYFILE`, which is needed by datalad-core's
`SSHManager`. The setup may still need to use the `datalad_cfg` fixture,
and possibly a dedicated reload to be effective.

Closes #60
mih added a commit that referenced this issue Sep 13, 2023
This should be easier to use. The old implementation is now available in
`ria_sshserver_setup` and should be considered internal.

The new fixture returns the base RIA URL, and a local path to that same
root directory (if one exists).

It also sets `DATALAD_SSH_IDENTITYFILE`, which is needed by datalad-core's
`SSHManager`. The setup may still need to use the `datalad_cfg` fixture,
and possibly a dedicated reload to be effective.

Closes #60
@mih mih closed this as completed in #61 Sep 13, 2023
mih added a commit that referenced this issue Sep 20, 2023
This should be easier to use. The old implementation is now available in
`ria_sshserver_setup` and should be considered internal.

The new fixture returns the base RIA URL, and a local path to that same
root directory (if one exists).

It also sets `DATALAD_SSH_IDENTITYFILE`, which is needed by datalad-core's
`SSHManager`. The setup may still need to use the `datalad_cfg` fixture,
and possibly a dedicated reload to be effective.

Closes #60
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 a pull request may close this issue.

1 participant