Ghi chú: Các lệnh được thảo luận ở đây đã được thử nghiệm trên Ubuntu 20.04 LTS. Các lệnh tương tự cũng hợp lệ cho hệ thống Debian.
Sửa lỗi kết nối bị từ chối
Đây là lỗi bị từ chối Kết nối mà bạn có thể gặp phải khi kết nối với hệ thống từ xa qua SSH.
Thực hiện theo các giải pháp dưới đây từng bước để giải quyết lỗi Kết nối bị từ chối.
Đảm bảo rằng OpenSSH đã được cài đặt
Một trong những lý do bạn có thể nhận được lỗi kết nối bị từ chối là do máy chủ OpenSSH không được cài đặt trên máy chủ đích.
Trước tiên, bạn cần đảm bảo rằng máy chủ OpenSSH đã được cài đặt trên hệ thống mà bạn đang cố gắng truy cập qua SSH. Để kiểm tra xem OpenSSH đã được cài đặt hay chưa, hãy sử dụng lệnh sau trong Thiết bị đầu cuối của máy chủ đích:
$sudodanh sách apt--Cài đặt | nắm chặtmáy chủ openssh
Lệnh này về cơ bản lọc thuật ngữ máy chủ openssh khỏi danh sách các gói đã cài đặt. Nếu bạn nhận được kết quả tương tự sau đây, nó cho biết máy chủ OpenSSH đã được cài đặt. Mặt khác, nếu bạn không nhận được đầu ra, điều đó có nghĩa là OpenSSH bị thiếu trên máy chủ đích.
Trong trường hợp nó không được cài đặt trên máy chủ đích, bạn có thể cài đặt nó bằng cách sử dụng lệnh sau là sudo:
$sudođúng cáchTải vềmáy chủ opensshSau đó, nhập mật khẩu sudo và khi được yêu cầu xác nhận, hãy nhấn ‘y’. Sau khi cài đặt, xác nhận nó bằng cách sử dụng cùng một lệnh
$sudodanh sách apt--Cài đặt | nắm chặtmáy chủ opensshKiểm tra dịch vụ SSH
Dịch vụ OpenSSH chạy ở chế độ nền và lắng nghe các kết nối đến. Dịch vụ OpenSSH bị dừng có thể là một trong những lý do khiến bạn nhận được lỗi kết nối bị từ chối.
Do đó, cần phải kiểm tra xem dịch vụ OpenSSH có đang chạy hay không bằng cách sử dụng lệnh sau trong Terminal:
$sudoDịch vụsshtrạng tháiNếu bạn thấy kết quả sau, điều đó có nghĩa là dịch vụ đang hoạt động và đang chạy ở chế độ nền.
Mặt khác, nếu bạn nhận được không hoạt động (chết), điều đó có nghĩa là dịch vụ không chạy . Bạn có thể chạy dịch vụ OpenSSH bằng lệnh sau dưới dạng sudo trong Terminal:
$sudoDịch vụsshbắt đầuĐể khởi động lại dịch vụ, hãy sử dụng lệnh sau:
$sudoDịch vụsshkhởi động lạiKiểm tra cổng lắng nghe máy chủ SSH
Một lý do khác để nhận được lỗi từ chối Kết nối là do bạn đang cố gắng kết nối với cổng sai. Ví dụ: nếu máy chủ được định cấu hình để lắng nghe trên cổng 2244 và bạn đang cố gắng kết nối với cổng 22 mặc định của nó, thì trong trường hợp này, bạn sẽ nhận được lỗi Kết nối bị từ chối.
Trước khi cố gắng kết nối, bạn cần kiểm tra cổng lắng nghe máy chủ SSH. Nếu đó là cổng mặc định (22), thì bạn có thể kết nối nó bằng lệnh sau:
$ssh [tên tài khoản]@[IP của trình điều khiển từ xa hoặctên máy chủ]Nếu đó là một số cổng khác với cổng mặc định, bạn sẽ cần kết nối với máy chủ SSH bằng cổng này:
$ssh -P [port_number] [tên tài khoản]@[địa chỉ IP]Để kiểm tra xem máy chủ OpenSSH đang nghe cổng nào; sử dụng lệnh sau trong Terminal:
$sudo netstat -ltnp | nắm chặtsshdBạn sẽ nhận được kết quả tương tự như sau:
Trong cột thứ ba, bạn có thể thấy cổng lắng nghe của máy chủ là 2244. Nếu đúng như vậy, bạn sẽ cần kết nối với máy chủ SSH bằng cổng này.
$ssh -P [2244] [tên tài khoản]@[địa chỉ IP]Cho phép SSH trong tường lửa
Tường lửa chặn cổng SSH có thể là một lý do chính khác gây ra lỗi Kết nối bị từ chối. Nếu tường lửa đang chạy trên máy chủ SSH, bạn sẽ cần cho phép cổng SSH trong đó bằng lệnh sau. Thay thế cái Hải cảng bằng số cổng mà máy chủ SSH đang nghe:
$sudoufw cho phép cổng/tcpVí dụ: nếu máy chủ SSH đang nghe cổng 2244, thì bạn có thể cho phép nó trong tường lửa như:
$sudoufw cho phép2244/tcp
Tải lại tường lửa bằng lệnh sau:
$sudoufw tải lạiĐể xác nhận xem các quy tắc đã được thêm vào hay chưa, hãy kiểm tra trạng thái của tường lửa bằng lệnh sau trong Terminal:
$sudotình trạng ufwKết quả sau cho thấy cổng 2244 được phép trong tường lửa.
Giải quyết xung đột địa chỉ IP trùng lặp
Lỗi kết nối bị từ chối cũng có thể xảy ra do xung đột địa chỉ IP trùng lặp. Vì vậy, hãy đảm bảo hệ thống không có địa chỉ IP trùng lặp.
Cài đặt tiện ích arping trên hệ thống của bạn bằng lệnh sau:
$sudođúng cáchTải vềvòng cungSau đó ping địa chỉ IP của máy chủ SSH.
$ping <địa chỉ IP>Trong đầu ra, nếu bạn thấy phản hồi từ nhiều hơn một địa chỉ MAC, thì điều đó cho thấy rằng có một IP trùng lặp đang chạy trên hệ thống. Nếu đúng như vậy, hãy thay đổi địa chỉ IP của máy chủ SSH và thử kết nối lại với địa chỉ IP mới.
Đây là cách sửa lỗi Cổng 22 bị từ chối kết nối trong hệ thống Linux. Trong bài viết này, chúng tôi đã mô tả một số cách chắc chắn sẽ giúp bạn trong việc giải quyết lỗi Kết nối bị từ chối.