Tôi nhận được lỗi sau khi cố gắng ssh tới thiết bị Cisco ACS bằng thư viện paramiko. Tôi đã sử dụng paramiko trong python mà không có vấn đề, và tôi có thể ssh đến hộp này từ dòng lệnh, hoặc sử dụng putty mà không có vấn đề. Tôi đã bật gỡ lỗi và sao chép thông tin ở đây. Vui lòng cho tôi biết nếu bạn có thể giúp tôi.paramiko Không tương thích ssh peer (không có thuật toán kex được chấp nhận)
import paramiko
import sys
try:
paramiko.common.logging.basicConfig(level=paramiko.common.DEBUG)
sshConnection = paramiko.SSHClient()
sshConnection.set_missing_host_key_policy(paramiko.AutoAddPolicy())
sshConnection.connect('server',username='username',password='password')
except paramiko.BadAuthenticationType:
sys.stdout.write('Bad Password!\n')
sys.exit()
except paramiko.SSHException, sshFail:
sys.stdout.write('Connection Failed!\n')
sys.stdout.write('%s\n' % sshFail)
sys.exit()
except socket.error, socketFail:
sys.stdout.write('Failed to open socket\n')
sys.stdout.write('%s\n' % socketFail)
sys.exit()
và kết xuất debug trả về:
DEBUG:paramiko.transport:starting thread (client mode): 0x14511d0L
INFO:paramiko.transport:Connected (version 2.0, client OpenSSH_5.3)
DEBUG:paramiko.transport:kex algos:['diffie-hellman-group14-sha1'] server key:['ssh-rsa'] client encrypt:['aes256-cbc', 'aes128-cbc', '3des-cbc'] server encrypt:['aes256-cbc', 'aes128-cbc', '3des-cbc'] client mac:['hmac-sha1'] server mac:['hmac-sha1'] client compress:['none', '[email protected]'] server compress:['none', '[email protected]'] client lang:[''] server lang:[''] kex follows?False
ERROR:paramiko.transport:Exception: Incompatible ssh peer (no acceptable kex algorithm)
ERROR:paramiko.transport:Traceback (most recent call last):
ERROR:paramiko.transport: File "build\bdist.win32\egg\paramiko\transport.py", line 1546, in run
ERROR:paramiko.transport: self._handler_table[ptype](self, m)
ERROR:paramiko.transport: File "build\bdist.win32\egg\paramiko\transport.py", line 1618, in _negotiate_keys
ERROR:paramiko.transport: self._parse_kex_init(m)
ERROR:paramiko.transport: File "build\bdist.win32\egg\paramiko\transport.py", line 1731, in _parse_kex_init
ERROR:paramiko.transport: raise SSHException('Incompatible ssh peer (no acceptable kex algorithm)')
ERROR:paramiko.transport:SSHException: Incompatible ssh peer (no acceptable kex algorithm)
ERROR:paramiko.transport:
Connection Failed!
Incompatible ssh peer (no acceptable kex algorithm)
Tôi đã thực hiện chắc chắn tôi có phiên bản mới nhất của pycrypto và paramiko cài đặt.
Bạn là ai DenverCoder9 ... Bạn đã thấy gì ?! – BizNuge
Đối với tôi, 'sudo easy_install paramiko' đã khắc phục được sự cố. Thuật toán trao đổi khóa (kex) có thể là cài đặt sshd mà bạn có thể thay đổi? – Justin
@BizNuge nếu bạn vẫn gặp sự cố này, hãy kiểm tra câu trả lời bên dưới từ wisnia đã sửa nó cho tôi. Tôi đã chỉnh sửa bài đăng để dễ dàng cắt và dán. –