Cách sửa lỗi No supported authentication methods available

Tác giả Network Engineer, T.Một 09, 2022, 06:10:14 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 3 Khách đang xem chủ đề.

Cách sửa lỗi No supported authentication methods available


Hệ thống máy tính đã trở thành một phần không thể thiếu trong cuộc sống hàng ngày của chúng ta. Dù ở nơi làm việc hay giải trí, chúng ta thấy mình bị cuốn vào hệ thống của mình theo cách này hay cách khác. Đôi khi chúng ta có thể cần phải truy cập hệ thống của mình từ xa trên mạng không an toàn của chúng ta. Tuy nhiên, để giữ an toàn cho bản thân, chúng ta cần đảm bảo rằng chúng ta được bảo mật và quyền riêng tư của chúng ta không bị xâm phạm. Trong những trường hợp như vậy, chúng ta có thể sử dụng các máy chủ SSH để làm cho dịch vụ mạng của chúng ta an toàn trên một mạng không an toàn. Mở rộng ra, chúng ta thường gặp phải một lỗi cho biết: "No supported authentication methods available".


Lỗi này chỉ ra rằng máy khách SSH của chúng ta (chủ yếu là PuTTY) có thể đã hết cách và không thể xác thực chúng ta với máy chủ SSH. Sự cố này có nhiều nguyên nhân khác nhau, trong đó đáng chú ý là một số cài đặt có thể đã bị chỉnh sửa hoặc lỗi từ phía người dùng, trong khi trong các trường hợp khác, người dùng có thể đã tắt xác thực bàn phím hoặc TIS.

Bây giờ chúng ta đi sâu vào quá trình xác thực một máy chủ từ xa để kích hoạt thành công việc sử dụng hệ thống

1. Quy trình để bật Xác thực được hỗ trợ

Chúng ta bắt đầu bằng cách tạo một cặp khóa bằng lệnh.

Mã nguồn [Chọn]
$ ssh-keygen
Lệnh này tạo một cặp khóa 2048-bit đủ an toàn cho hầu hết các giao thức từ xa, nhưng chúng ta có thể tạo một cặp 3072-bit bằng cách nhập –b 3072 hoặc một cặp 4096-bit bằng cách nhập –b 4096

Sau khi nhập lệnh, chúng ta sẽ thấy một thông báo cho biết việc tạo cặp khóa công khai và riêng tư và cửa sổ dòng lệnh Terminal sẽ nhắc chúng ta nêu tên của tập tin để lưu khóa.

Lưu khóa vào .ssh/subdirectory hoặc chọn một đường dẫn thay thế. Nếu một khóa đã tồn tại, chúng ta sẽ được yêu cầu ghi đè lên nó, khi chúng ta chọn làm như vậy, chúng ta sẽ không thể sử dụng khóa trước đó để xác thực nữa. Bước này phải được thực hiện khi SSH không xác định được hệ thống máy chủ hoặc đưa ra lỗi "no authenticated support".

Sau khi thực hiện điều đó, hệ thống sẽ nhắc chúng ta nhập cụm mật khẩu rất được khuyến khích cho một lớp bảo mật bổ sung không cho phép người dùng trái phép đăng nhập.

Sau đó, chúng ta sẽ thấy một đầu ra cho thấy chúng ta đã lấy được cặp khóa công khai và riêng tư để xác thực. Bây giờ chúng ta phải đặt khóa công khai trên máy chủ của mình để kích hoạt xác thực dựa trên khóa SSH.


Bước tiếp theo là sao chép khóa công khai vào máy chủ Ubuntu của chúng ta. Điều này có thể được thực hiện bằng một lệnh đơn giản.

Mã nguồn [Chọn]
$ ssh-copy-id
Chúng ta cần chỉ định máy chủ lưu trữ từ xa mà chúng ta muốn kết nối bằng lệnh này. Chúng ta cũng phải cung cấp tài khoản người dùng mà chúng ta có quyền truy cập SSH bằng mật khẩu. Đây là tài khoản sẽ chứa khóa SSH công khai của chúng ta.

Cú pháp chung là.

Mã nguồn [Chọn]
$ ssh-copy-id username@remotehost
Trong thông báo được nhắc, hãy nhập 'y' để để đồng ý, thao tác này sẽ sao chép khóa. Liên kết lần đầu tiên với máy chủ từ xa, hệ thống của bạn có thể không nhận ra máy chủ, nhưng điều đó sẽ giảm dần khi chúng ta nhấn nút 'authenticate'. Bây giờ hệ thống từ xa là một trong những hệ thống mà chúng ta có thể sử dụng như một máy chủ. Sau đó, tài khoản cục bộ của chúng ta sẽ được tiện ích quét tìm khóa   Đăng nhập để xem liên kết đã được tạo trước đó.

Khi đã tìm thấy chìa khóa, chúng ta sẽ được nhắc nhập mật khẩu cho tài khoản của người dùng từ xa.

Nhập mật khẩu và nhấn Enter. Làm như vậy sẽ cho phép tiện ích kết nối chúng tôi với máy chủ từ xa bằng mật mã được cung cấp. Nó cũng sẽ sao chép nội dung của khóa ~/.ssh/id_rsa.pub vào tập tin trên thư mục chính của tài khoản từ xa (~/.ssh), cụ thể là "authorized_keys".

Khi tất cả các bước được thực hiện chính xác, chúng ta sẽ thấy kết quả sau.

Mã nguồn [Chọn]
Number of key(s) added:1
Điều này cho thấy khóa của chúng ta đã được thêm thành công vào tài khoản từ xa.

Cuối cùng, chúng ta có thể đăng nhập vào máy chủ từ xa bằng lệnh.

Mã nguồn [Chọn]
$ ssh username@remote_host
Nhập 'y' và nhấn Enter để truy cập tài khoản từ xa.

Quá trình được mô tả ở trên sẽ hoạt động mà không gây ra bất kỳ vấn đề xác thực nào.

Trong trường hợp một người không cảm thấy muốn nhập quá nhiều lệnh trên cửa sổ dòng lệnh Terminal và muốn có GUI để có hướng dẫn rõ ràng, mình khuyên bạn nên sử dụng PuTTY.

2. Giải quyết hỗ trợ xác thực bằng PuTTY

Giả sử một trong những máy khách không có PuTTY, trước tiên chúng ta thực hiện quá trình tải xuống nó trên hệ thống của chúng ta. PuTTY là một máy khách SSH cho phép truy cập từ xa vào bộ định tuyến và máy chủ và cho phép đăng nhập từ xa. Với sự hỗ trợ cho các giao thức khác nhau và các tính năng bổ sung như phiên proxy, cài đặt ngôn ngữ và quản lý phiên, nó đã trở nên phổ biến trong một loạt các hệ điều hành, bao gồm cả Windows và Ubuntu.

Đầu tiên và quan trọng nhất, chúng ta mở terminal và kích hoạt kho lưu trữ vũ trụ cho hệ thống của chúng ta bằng cách sử dụng lệnh sau.

Mã nguồn [Chọn]
$ sudo add-apt-repository universe
Sau khi hoàn tất, chúng ta cài đặt PuTTY bằng cách sử dụng lệnh sau.

Mã nguồn [Chọn]
$ sudo apt install PuTTY

Sau khi cài đặt PuTTY, bạn có thể kiểm tra phiên bản và xác minh cài đặt của mình.

Mã nguồn [Chọn]
$ putty--version

Cuối cùng, chúng ta khởi chạy PuTTY thông qua cửa sổ dòng lệnh Terminal.

Mã nguồn [Chọn]
$ putty

Sau khi khởi chạy, chúng ta có thể tạo các cặp khóa công khai và riêng tư. Lưu các cặp này trong một tập tin. Đảm bảo rằng khóa cá nhân được giữ an toàn.

Chạy các công cụ như Pageant và thêm khóa cá nhân đã được lưu. Đảm bảo rằng cái này luôn chạy.

Thêm khóa công khai vào máy chủ trong tài khoản của bạn, máy chủ này sẽ là máy chủ lưu trữ từ xa. Chúng ta cũng sẽ phải nhập các thông tin đăng nhập khác như mật mã. Sau đó, chúng ta sẽ được xác thực thành công.


3. Biện pháp khắc phục

Để dễ sử dụng, chúng ta thường tắt xác thực mật khẩu của mình. Tuy nhiên, để loại bỏ lỗi xác thực không được hỗ trợ, chúng ta cần đặt xác thực mật khẩu thành "yes" Việc này được thực hiện bằng cách làm theo các bước dưới đây.

Mở tập tin ssh_config qua cửa sổ dòng lệnh Terminal bằng cách sử dụng lệnh sau:

Mã nguồn [Chọn]
$ /etc/ssh/ssh_config
Đặt giá trị password authentication thành "có"

Bây giờ khởi động lại máy chủ SSH bằng lệnh sau.

Mã nguồn [Chọn]
$ /etc/init.d/ssh restart
Lưu ý: Trong khi kết nối với máy chủ, bạn nên cung cấp tên người dùng và mật khẩu chính xác mà bạn đã đặt. Nếu không, lỗi nhỏ này cũng có thể gây ra lỗi "no supported authentication methods available".

Việc quản lý một máy chủ từ xa có thể là một công việc phức tạp vì nhiều vấn đề có thể phát sinh do việc quản lý các khóa và xác thực chúng không tốt. Trong bài viết này, chúng ta đã xem xét quy trình thiết lập xác thực cho SSH và khắc phục lỗi "no supported authentication". Mình hy vọng thông tin chi tiết của bài viết sẽ có ích trong việc xóa các truy vấn của bạn và mọi lỗi xác thực mà bạn gặp phải đều có thể được giải quyết.