Python - Paramiko - incompatible ssh server
Solution 1
You should check if any of those MACs algorithms are available on your SSH server (sshd_config, key: MACs) :
- HMAC-SHA1
- HMAC-MD5
- HMAC-SHA1-96
- HMAC-MD5-96.
They are needed in order for Paramiko to connect to your SSH server.
Solution 2
On your remote server, edit /etc/ssh/sshd_config
and add a MACs
line or append to the existing one, with one or more of hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96
(values are comma-separated), for example:
MACs hmac-sha1
Now restart sshd: sudo systemctl restart ssh
.
Related videos on Youtube
Guillaume
Not just a tablet, A Diskio Pi. A new concept of hybrid machine, compatible Raspberry Pi 2/3 and Odroid XU4. www.diskiopi.com
Updated on October 07, 2022Comments
-
Guillaume over 1 year
I have an error on a script I have wrote since few months, it worked very good with a raspberry pi, but now with an orange pi I have this:
>>> import paramiko >>> transport = paramiko.Transport("192.168.2.2", 22) >>> transport.connect(username = "orangepi", password = "my_pass") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 978, in connect self.start_client() File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 406, in start_client raise e paramiko.ssh_exception.SSHException: Incompatible ssh server (no acceptable macs)
I can connect in console with ssh without problem.
Somebody has an idea ?
-
Raito about 9 yearsIt seems like that you don't have a common MAC algorithm between Paramiko and your SSH server implementation. Paramiko supports HMAC-SHA1, HMAC-MD5, HMAC-SHA1-96, HMAC-MD5-96.
-
RaitoIt may be solved by adding MACs [email protected] [others MAC algorithm] to your sshd_config on your Raspberry Pi, I think.
-
-
Gert van den Berg over 8 yearsNote that this is a security risk (tiny though), most of the other MACs are based on more secure hashes.