paramiko / paramiko/paramiko

[FEAT] - Allow specifying identity file and certificate

Open
#2,266 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature Keys Needs patch
Dominant language
Python
Stars
9.9k
Forks
2.1k
PR merge metrics
No merged PRs in 30d

Description

Is this feature for paramiko acting as a client or a server?

Client

What functionality does this feature request relate to?

Keys/auth

For client-side features, does this relate to a specific type of SSH server?

No response

If you're using paramiko as part of another tool, which tool/version?

No response

Desired behavior

If a server is set up to require SSH certificates there are cases where a single private key might have different certificates per server. Right now, as far as I can tell, there is no way to deal with this in Paramiko other than duplicating the private key so that the file names can be found automatically in Paramiko.

Example:
my_key
my_key_server1-cert.pub
my_key_server2-cert.pub

Since there is no way to specify the key and the certificate together, I know have to copy the key so that I have:
my_key
my_key_server1
my_key_server1-cert.pub
my_key_server2
my_key_server2-cert.pub

In an automated environment, with potential dozens of different servers, this can get really chaotic really quick.

Therefore I think Paramiko's connect method should have an explicit field to provide a certificate. The developer can then either provide a private key, or provide a certificate (and have the private key get found automatically) or provide both and have Paramiko use the specified combination.

Anything else?

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at Paramiko's connect method and trace its existing private-key and certificate filename handling. Done means callers can explicitly supply a certificate, rely on automatic private-key discovery, or provide both as a selected combination, without duplicating private-key files.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
authentication, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.