Skip to content

Add support for a certificate file to be passed to asyncssh.connect() #63

@Andrew-S-Rosen

Description

@Andrew-S-Rosen

What should we add?

This is essentially a mimic of AgnostiqHQ/covalent-slurm-plugin#45, and the PR there (AgnostiqHQ/covalent-slurm-plugin#47) would work equally well here.

Currently, client_keys in asyncssh.connect() is set to client_keys=[self.ssh_key_file], and self.ssh_key_file is coded such that it can only be a single path, as shown below. However, the authentication process on some machines requires a list[tuple(str, str)] to be passed that has the SSH key and a certificate file, respectively.

conn = await asyncssh.connect(
self.hostname,
username=self.username,
client_keys=[self.ssh_key_file],
known_hosts=None,
)

Describe alternatives you've considered.

There are no alternatives if you require a certificate to SSH because the current code is hard-coded to only accept an SSH key as the authentication method.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or functionality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions