Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Linux

Sửa lỗi: ssh_exchange_identification: read: connection reset by peer

May mắn thay, lỗi ssh_exchange_identification: read: Connection reset by peer khá hiếm, nhưng bạn có thể gặp khi ssh vào bất kỳ server Unix nào. Không quan trọng bạn dùng Windows với Cygwin truy cập Ubuntu, hay macOS với Terminal ssh vào Arch, Fedora, CentOS. Vì ssh phổ biến trên Unix/Linux, lỗi này có thể xuất hiện bất cứ khi nào server từ xa reset kết nối mà không có sự cho phép của bạn.

Cách 1: Kiểm tra file hosts.deny

Nếu bạn có quyền quản trị trên server và có cách truy cập trực tiếp, cách dễ nhất là vào prompt đăng nhập trực tiếp server và xem file hosts.deny.

Gõ Sửa lỗi: ssh_exchange_identification: read: connection reset by peer trên server để xem máy của bạn có bị liệt kê trong danh sách cấm không.

Sửa lỗi: ssh_exchange_identification: read: connection reset by peer

Nếu có, thường là nhầm lẫn và bạn có thể xóa dòng đó rồi kết nối lại ssh từ máy kia. Ngược lại, kiểm tra xem có ký tự đại diện (wildcard) kỳ lạ nào cấm máy bạn không. File mới chỉ chứa văn bản mặc định của bản phân phối thường không phải nguyên nhân.

Sửa lỗi: ssh_exchange_identification: read: connection reset by peer

Thử Sửa lỗi: ssh_exchange_identification: read: connection reset by peer nếu muốn thêm đăng nhập từ xa thủ công để đảm bảo kết nối. Điều này hiếm khi cần, nhưng nếu làm, hãy tuân theo văn bản hướng dẫn của bản phân phối. Ví dụ, thêm dòng cuối: ALL: ten-mien-cua-ban.com để cho phép mọi người trên domain đó kết nối. Đảm bảo gõ đúng hostname, sau đó nhấn Ctrl+O lưu và Ctrl+X thoát.

Lúc này bạn nên đã ssh vào server được.

Cách 2: Thay đổi tùy chọn cấu hình SSH

Nếu không truy cập được server từ xa hoặc cách trước không khắc phục, hãy xóa file cấu hình ssh cũ và xem có hết lỗi sau cập nhật không. Giả sử không, hãy thêm tùy chọn -v vào ssh và thử kết nối lại. Nếu vẫn lỗi, thử thêm -c aes256-ctr vào lệnh ssh. Điều này rút gọn danh sách cipher (mã hóa) và cho phép kết nối vì làm giảm kích thước gói tin.

Một số user nhận thấy cách này đặc biệt hữu ích khi troubleshooting thiết bị Cisco vì một số phần cứng server mong đợi gói tin nhỏ hơn mặc định. Chỉ cần thêm -c aes256-ctr vào lệnh ssh thông thường và bạn sẽ vào được.

Cách 3: Ghi đè cấm IP ngẫu nhiên (fail2ban)

Nếu bạn đã thử đăng nhập vài lần và bị từ chối, server của chính bạn có thể nhầm lẫn bạn là IP xấu. Điều này thường xảy ra nếu bạn liên tục thử kết nối khi troubleshooting — phản ứng hợp lý nhưng trông như tấn công đối với subroutine fail2ban. Để chắc chắn, chạy sudo iptables -L --line-number từ kết nối từ xa và tìm địa chỉ IP của bạn. Bạn sẽ thấy nhiều kết nối không liên quan có thể bỏ qua.

Sửa lỗi: ssh_exchange_identification: read: connection reset by peer

Khi tìm thấy dòng gây vấn đề, chạy iptables -D theo sau bằng chain và số chain đó để ngăn chặn việc bị cấm lại bởi phần mềm của chính mình. Bạn không nên gặp thêm rắc rối. Tuy nhiên, nếu vẫn còn,

bạn có thể chỉnh sửa file sau: Sửa lỗi: ssh_exchange_identification: read: connection reset by peer

Mở bằng trình soạn thảo yêu thích (nano hoặc vi) với quyền root. Bạn có thể chạy Sửa lỗi: ssh_exchange_identification: read: connection reset by peer rồi tìm dòng ignoreip. Thêm địa chỉ IP của bạn vào dòng này để vĩnh viễn chặn fail2ban đưa IP bạn vào danh sách block.

Các bản phân phối Linux làm việc hơi khác nhau, nhưng các thay đổi này thường có hiệu lực ngay lập tức trong đa số trường hợp.