Tắt chức năng xác thực Host Key Identification khi kết nối SSH

60

Trong bài này, chúng ta sẽ học cách tắt tính năng kiểm tra Host Key Identification mỗi khi kết nối SSH đến một máy chủ Linux nào đó. Mặc định thì SSH Client luôn kiểm tra thông tin định của remote host thông qua Host Key mỗi khi client ssh đến. Nếu mà remote Host Key này chưa được thêm vào danh sách Host Key tương ứng máy chủ remote (~/.ssh/known_hosts), thì sẽ xuất hiện thông báo hỏi có chấp nhận Host Key này hay không với “yes” hoặc “no“.

Host Key về mặt bảo mật thì khá cần thiết, để đảm bảo máy chủ Remote nếu mà có bị thay đổi IP thành máy chủ khác thì ta cần kiểm tra tính xác thực của máy chủ đó. Nhưng trong một số trường hợp thì sẽ là vấn đề khá phiền toái như khi chúng ta có chương trình/script hoạt động tự động kết nối đến nhiều máy chủ remote thông qua giao thức SSH để thực hiện task nào đấy. Vì vậy mình sẽ hướng dẫn cách tắt chức năng xác thực Host Key đó đi .

Coi thêm bài  : Cải thiện tốc độ đăng nhập SSH trên Linux

The Authenticity Of Host Can’t Be Established

Bắt đầu lại nhé, khi mà chúng ta đăng nhập (login) ssh đến 1 remote host mà trước đó chúng ta chưa kết nối SSH bao giờ, thì thông tin Remote Host Key gần như là chưa biết và không có trong danh sách nhận biết kiểm tra Host Key (~/.ssh/known_hosts). Bạn sẽ gặp prompt như dưới yêu cầu xác nhận fingerprint của remote host.

  •  Nếu bạn chọn “yes” thì SSH Client sẽ tiếp tục hoạt động đăng nhập và lưu trữ host key xuống máy chủ nội bộ ~/.ssh/known_hosts .
  • Nếu bạn chọn “no” thì kết nối SSH sẽ bị ngắt hoạt động.

Vậy nếu bạn muốn bỏ qua chức năng kiểm tra Host Key fingerprint này thì bạn có thể thêm option “StrictHostKeyChecking” với giá trị “no” trên chương trình lệnh.

 
Khi bạn thực hiện option với câu lệnh trên, việc kiểm tra xác thực Remote Host Key sẽ bị bỏ qua và tự lưu thông tin host key xuống file ~/.ssh/known_hosts.

Thông tin Remote Host Identification đã bị thay đổi

Tuy nhiên sẽ có trường hợp như sau, dù đã có option “StrictHostKeyChecking=no“, bạn vẫn bị lỗi từ chối kết nối dịch vụ SSH đến remote host với thông báo như sau.

 
Thông báo đã ghi rõ, máy chủ mà bạn đang kết nối đến có thể không chính xác là nó, trường hợp này thường xảy ra khi bạn cài lại OS hoặc gán IP cũ cho máy chủ khác. Nếu bạn chắc chắn máy chủ Linux bạn đang kết nối đến là an toàn và không nguy hại, thì bạn có thể bỏ qua bước này bằng cách ta bỏ qua cả việc add Remote Host Key vào file ~/.ssh/known_hosts bằng cách đẩy nó vào filesystem đặc biệt rỗng /dev/null.

 
Bạn cũng có thể set các giá trị option lệnh này mang tính vĩnh viễn mỗi khi kết nối SSH đến 1 đối tượng remote host cụ thể nào đó. Bằng cách thêm thông tin vào file cấu hình SSH Client ~/.ssh/config (đối với user đang sử dụng) hoặc /etc/ssh/ssh_config (áp config cho toàn bộ user).

Coi thêm bài : Cấu hình ~/.ssh/config để đơn giản hoá việc kết nối SSH Client

+ Tắt chức năng xác thực SSH Remote Host Key với toàn bộ host

+ Tắt xác thực SSH Remote Host Key với các IP lớp mạng 192.168.0.0/24

 
Như vậy bạn đã biết cách bỏ qua hoạt động xác thực Remote Host Key trong trường hợp bạn thấy không cần thiết ở hoạt động này với một số máy chủ remote host cụ thể.

Đánh giá sao từ người đọc :
[ Tổng : 0 - Trung bình: 0 ]

LEAVE A REPLY