xpra icon
Bug tracker and wiki

Opened 2 weeks ago

Closed 13 hours ago

#2097 closed enhancement (worksforme)

SSHFP with paramiko

Reported by: elenril Owned by: elenril
Priority: minor Milestone: 2.5
Component: client Version: 2.4.x
Keywords: Cc:

Description

One feature that I've been using with openssh, but is missing from the new paramiko code, is checking SSHFP DNS records.

Some background: SSHFP records are used to publish a host key fingerprints in DNS, then (assuming the domain is DNSSEC-secured and the client has a validating resolver) the client can verify the host keys through DNS rather than the classic trust-on-first-use method. In openssh, this is enabled by the VerifyHostKeyDNS yes option in ssh_config. Since I have many hosts which connect to each other, I think this scales better than the classic known_hosts approach.

Now, paramiko does not support SSHFP natively, but it can be implemented by the caller through a custom missing host key policy. I'm attaching code for this policy I use in another codebase, though I am not sure whether it belongs in xpra or should be added to paramiko itself, or implemented in some other manner. Thoughts?

Attachments (1)

_sshfp_policy.py (1.8 KB) - added by elenril 2 weeks ago.

Download all attachments as: .zip

Change History (4)

Changed 2 weeks ago by elenril

Attachment: _sshfp_policy.py added

comment:1 Changed 2 weeks ago by Antoine Martin

Status: newassigned

I think the policy itself could be merged by paramiko, if they decide to do so. If anything, their review of the code would be useful to have.

The actual code changes in xpra would be minimal.
I'll try to take a look when I get a chance, but feel free to beat me to it.

comment:2 Changed 2 weeks ago by Antoine Martin

Owner: changed from Antoine Martin to elenril
Status: assignednew

Try r21287 and let me know how it goes.

I take back what I had said regarding merging this upstream: it's easier to have it separate so that the messages we get from the SSHFP DNS check can be integrated into the other dialogs / console messages.

comment:3 Changed 13 hours ago by Antoine Martin

Resolution: worksforme
Status: newclosed

Not heard back, closing - works for me.

Note: See TracTickets for help on using tickets.