Can't connect to Jammy hosts (openssh >= 8.8p1-1)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
paramiko (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Bionic |
New
|
Undecided
|
Unassigned | ||
Focal |
New
|
Undecided
|
Unassigned | ||
Impish |
Won't Fix
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
High
|
Unassigned |
Bug Description
python3-paramiko can't connect to Jammy hosts, likely because of the stricter signature requirements introduced in openssh 8.8p1-1.
Reproducer:
1. Setup a passwordless keypair and add localhost to known_hosts:
$ sudo apt install -y openssh-server openssh-client ipython3 python3-paramiko
$ ssh-keygen -f ~/.ssh/
$ SSH_AUTH_SOCK= ssh-copy-id -i ~/.ssh/
2. Verify setup:
paride@stramonio:~$ SSH_AUTH_SOCK= ssh -i ~/.ssh/
2022-02-23T12:35:39 CET
3. Try the same with paramiko from python3-paramiko:
$ ipython3
In [1]: import paramiko, os
In [2]: client = paramiko.
In [3]: client.
In [4]: client.
Unknown exception: q must be exactly 160, 224, or 256 bits long
[Full Traceback Below]
4. Try with a newer paramiko:
$ python3 -m venv /tmp/newparamiko
$ source /tmp/newparamik
$ pip install -q paramiko==2.9.2
$ ipython3
In [1]: import paramiko, os
In [2]: client = paramiko.
In [3]: client.
In [4]: client.
In [5]: # It works!
The Point 3. failure can be reproduced by installing older versions of paramiko via pip, so the issue is not specific to Ubuntu. Likely related upstream changes/issues:
* https:/
* https:/
--- Point 3. Traceback ---
Traceback (most recent call last):
File "/usr/lib/
handler(
File "/usr/lib/
sig = self.private_
File "/usr/lib/
key = dsa.DSAPrivateN
File "/usr/lib/
return backend.
File "/usr/lib/
dsa.
File "/usr/lib/
_check_
File "/usr/lib/
raise ValueError("q must be exactly 160, 224, or 256 bits long")
ValueError: q must be exactly 160, 224, or 256 bits long
Changed in paramiko (Ubuntu): | |
importance: | Undecided → High |
tags: | added: rls-jj-incoming |
tags: | added: fr-2082 |
tags: | removed: rls-jj-incoming |
description: | updated |
I added tasks for existing stable releases. I think we need to assess how badly this is going to impact users of stable releases, and evaluate if SRUs are an option. I had a first look and I don't think this is SRU material (too many changes, not limited to src:paramiko), but let's decide deliberately.