Known_hosts file location Linux là gì?

Known_hosts file location Linux là gì?

File known_hosts trong Linux là nơi hệ thống lưu trữ thông tin về các máy chủ mà bạn đã từng kết nối qua SSH, giúp xác thực và đảm bảo an toàn cho phiên đăng nhập sau này. Hiểu rõ cách hoạt động và vị trí của file này sẽ giúp bạn quản lý kết nối hiệu quả hơn, đồng thời hạn chế rủi ro bảo mật. Cùng Web4s tìm hiểu chi tiết hơn về known_hosts nhé!

Known_hosts là gì?

File known_hosts là một tệp tin quan trọng được sử dụng bởi giao thức SSH (Secure Shell) để lưu trữ thông tin xác thực của các máy chủ từ xa mà bạn đã kết nối. Tệp này đóng vai trò như một cơ chế bảo mật, giúp xác minh rằng bạn đang kết nối đúng máy chủ bạn định truy cập, từ đó ngăn chặn các cuộc tấn công trung gian (Man-in-the-Middle - MITM).

known_hosts

Known_hosts Linux là gì?

known_hosts là một tệp tin quan trọng trong Linux, nằm trong thư mục .ssh của người dùng (~/.ssh/known_hosts). Tệp này có chức năng lưu trữ khóa công khai (public key) của các máy chủ từ xa mà bạn đã từng kết nối bằng giao thức SSH (Secure Shell).

Tệp Known_hosts hoạt động như thế nào?

Khi bạn lần đầu tiên kết nối tới một máy chủ SSH, máy chủ sẽ gửi khóa công khai của nó tới máy tính của bạn. Hệ thống sẽ hỏi bạn có muốn lưu khóa này hay không. Nếu bạn đồng ý, khóa này sẽ được lưu vào tệp ~/.ssh/known_hosts (hoặc /etc/ssh/ssh_known_hosts đối với toàn bộ hệ thống).

Những lần kết nối sau, chương trình SSH client sẽ so sánh khóa công khai mà máy chủ gửi với khóa đã lưu trong tệp known_hosts.

  • Nếu hai khóa khớp nhau, kết nối sẽ được thiết lập an toàn.

  • Nếu hai khóa không khớp, có thể có hai trường hợp: máy chủ đã thay đổi khóa (ví dụ: cài đặt lại hệ điều hành) hoặc có một cuộc tấn công đang diễn ra. SSH client sẽ cảnh báo bạn và không cho phép kết nối, nhằm bảo vệ bạn khỏi các rủi ro bảo mật.

>>> Xem thêm: Imunify360 là gì? Giải pháp bảo mật mạnh cho Hosting Linux

Cấu trúc của known_hosts file location Linux 

File ~/.ssh/known_hosts lưu khóa công khai của các máy chủ SSH mà bạn đã kết nối; mỗi dòng tương ứng một máy và có dạng cơ bản sau đây.

[hostname/IP] [key_type] [public_key]

- Ví dụ minh họa:

github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmd...

192.168.1.100 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItb…

- Giải thích chi tiết:

  • hostname/IP: là tên miền hoặc địa chỉ IP của máy chủ đã kết nối, ví dụ github.com hoặc 192.168.1.1.

  • key_type: là loại khóa SSH mà máy chủ cung cấp, ví dụ ssh-rsa, ecdsa-sha2-nistp256 hoặc ed25519.

  • public_key: là chuỗi khóa công khai (thường mã hoá Base64) dùng để xác thực máy chủ trong các lần kết nối sau.

known_hosts

Tầm quan trọng của file known_hosts

File known_hosts giữ vai trò then chốt trong việc đảm bảo an toàn cho các phiên SSH. Nó giúp người dùng xác minh đúng danh tính máy chủ và giảm thiểu rủi ro bị giả mạo trong quá trình kết nối. Dưới đây là những vai trò cụ thể:

  • Xác thực máy chủ: Tệp này lưu trữ khóa công khai (public key) của các máy chủ mà bạn đã kết nối. Nhờ đó, SSH client có thể nhanh chóng xác minh tính hợp lệ của máy chủ trong những lần truy cập sau, đảm bảo bạn đang kết nối đến đúng đích.

  • Phòng chống tấn công MITM: Khi một kẻ tấn công tìm cách giả mạo máy chủ, SSH sẽ so sánh khóa nhận được với khóa đã lưu trong known_hosts. Nếu có sự khác biệt, hệ thống sẽ ngay lập tức đưa ra cảnh báo để ngăn chặn nguy cơ bị tấn công Man-in-the-Middle.

  • Cảnh báo thay đổi bất thường: Nếu máy chủ thay đổi khóa SSH vì lý do hợp pháp (như cấu hình lại) hoặc không hợp pháp (như bị xâm nhập), SSH sẽ hiển thị cảnh báo để bạn xác minh trước khi tiếp tục. Điều này giúp bạn kiểm soát và phản ứng kịp thời với các thay đổi bảo mật.

  • Hỗ trợ quản lý kết nối: Bạn có thể dễ dàng quản lý các kết nối an toàn bằng cách xóa hoặc cập nhật khóa trong tệp này khi cần thiết. Ví dụ, sau khi một máy chủ được thiết lập lại, việc cập nhật khóa là cần thiết để duy trì tính bảo mật.

  • Tích hợp với công cụ SSH: Các lệnh như ssh-keygen -R (để xóa khóa) hay ssh-keyscan (để lấy khóa) giúp việc quản lý tệp known_hosts trở nên hiệu quả và đơn giản hơn.

>>> Xem thêm: Hosting là gì - Dịch vụ hosting website là gì?

Các lệnh liên quan về known_hosts in linux

Để quản lý và sử dụng hiệu quả file known_hosts, người dùng có thể áp dụng một số lệnh quan trọng giúp kiểm tra, chỉnh sửa hoặc xóa thông tin máy chủ đã lưu. Cụ thể như sau:

  • Xóa một host cụ thể khỏi known_hosts: ssh-keygen -R [hostname_or_IP]

  • Kiểm tra host đã tồn tại trong known_hosts hay chưa: ssh-keygen -F [hostname_or_IP]

  • Thêm thủ công key của host vào known_hosts: ssh-keyscan [hostname_or_IP] >> ~/.ssh/known_hosts

  • Hash hostname trong known_hosts để tăng bảo mật: ssh-keygen -H

  • Tắt kiểm tra known_hosts khi kết nối (chỉ nên dùng trong trường hợp đặc biệt): ssh -o StrictHostKeyChecking=no user@host

  • Sao lưu hoặc xóa toàn bộ known_hosts:

    • Sao lưu file: cp ~/.ssh/known_hosts ~/.ssh/known_hosts.bak

    • Xóa toàn bộ file: rm ~/.ssh/known_hosts

known_hosts

Lời kết

File known_hosts là thành phần quan trọng giúp đảm bảo tính an toàn và tin cậy cho các phiên kết nối SSH trong Linux. Việc hiểu rõ cấu trúc và các lệnh quản lý known_hosts sẽ giúp bạn kiểm soát hệ thống hiệu quả hơn, đồng thời phòng tránh rủi ro bảo mật. Nếu bạn cần hỗ trợ chi tiết hơn về known_hosts hoặc có thắc mắc, hãy liên hệ Web4s nhé!

THÔNG TIN LIÊN HỆ

Le Xuan

Đăng bởi:

Le Xuan

759

Bài viết liên quan

Shopify là gì? So sánh Shopify và WooCommerce [CHI TIẾT]
Shopify là gì? So sánh Shopify và WooCommerce [CHI TIẾT]
Trong bối cảnh thương mại điện tử phát triển mạnh, việc sở hữu một website bán hàng chuyên nghiệp không còn là lựa chọn mà đã trở thành nhu cầu thiết yếu. Trong số các nền tảng nổi bật hiện nay, Shopify luôn nằm trong top được doanh nghiệp toàn cầu tin dùng. Vậy Shopify là gì? Nên sử dụng Shopify hay WooCommerce Hãy cùng Web4s tìm hiểu chi tiết ngay sau đây.
Server RAM là gì? So sánh RAM PC & RAM Server
Server RAM là gì? So sánh RAM PC & RAM Server
Server RAM là bộ nhớ chuyên dụng cho máy chủ, giúp xử lý dữ liệu ổn định 24/7 và hạn chế lỗi nhờ cơ chế ECC tự động sửa lỗi. Khi so sánh RAM PC & RAM Server, điểm khác biệt lớn nhất nằm ở cấu trúc. Để hiểu rõ hơn, cùng tìm hiểu ngay sau đây!
Hummingbird là gì? Tối ưu website với thuật toán chim ruồi
Hummingbird là gì? Tối ưu website với thuật toán chim ruồi
Hummingbird (thuật toán chim ruồi) là thuật toán tìm kiếm giúp công cụ tìm kiếm hiểu rõ hơn ý định thực sự của người dùng thay vì chỉ dò theo từng từ khóa rời rạc. Theo công bố từ Google, thuật toán này được ra mắt năm 2013 và đã ảnh hưởng tới gần 90% truy vấn tìm kiếm toàn cầu tại thời điểm triển khai. Vậy Hummingbird là gì và vì sao nó lại thay đổi cách làm SEO hiện đại? Cùng Web4s khám phá ngay sau đây.
Hyperlink là gì? Hướng dẫn cài đặt Hyperlink chi tiết [A-Z]
Hyperlink là gì? Hướng dẫn cài đặt Hyperlink chi tiết [A-Z]
Hyperlink là một trong những thành phần quan trọng giúp kết nối nội dung trên internet, tài liệu và website. Nhờ Hyperlink, người dùng có thể truy cập thông tin chỉ với một cú nhấp chuột. Vậy Hyperlink là gì và làm thế nào để cài đặt Hyperlink đúng cách, nhanh chóng và hiệu quả? Cùng tìm hiểu chi tiết trong bài viết dưới đây của Web4s .  
Hreflang là gì? Cách thêm thẻ Hreflang chuẩn SEO vào website
Hreflang là gì? Cách thêm thẻ Hreflang chuẩn SEO vào website
Hreflang là một thuộc tính HTML giúp công cụ tìm kiếm hiểu đúng ngôn ngữ và khu vực của từng phiên bản trang. Nhờ đó, hiển thị nội dung phù hợp cho người dùng quốc tế, giống như “bản tên và quốc tịch” của mỗi trang. Để hiểu rõ hơn về thẻ hreflang, cùng Web4s giải đáp ngay!