2012-03-01 23 views
7

Tôi đang sử dụng Paramiko và cố gắng kết nối với máy chủ SFTP của mình. Đây là mã tôi đã viết:paramiko.SSHException: Lỗi khi đọc biểu ngữ giao thức SSH

class SFTPUploader: 
    def __init__(self, host, username, password, port): 
     transport = paramiko.Transport((host, port)) 
     print transport 
     transport.connect(username = username, password = password) 
     self.sftp = paramiko.SFTPClient.from_transport(transport) 

Tôi có thể kết nối với máy chủ của mình từ thiết bị đầu cuối. This thread không giúp ích gì vì kịch bản của chúng tôi khác.

Trả lời

7

Lỗi đó được tạo khi paramiko không nhận được biểu ngữ giao thức hoặc máy chủ gửi thứ gì đó không hợp lệ. Nếu máy chủ hoạt động không chính xác, điều này có thể do một số hạn chế mạng.

Bạn có thể sử dụng -vvv làm tùy chọn cho khách hàng openssh để biết thêm thông tin về cách kết nối và bạn có thể nhận biểu ngữ thật dễ dàng bằng netcat hoặc telnet trên cổng 22. Biểu ngữ phải bắt đầu bằng 'SSH-', hoặc paramiko sẽ trả về lỗi trên ngay lập tức.

Các vấn đề liên quan