0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

Xây dựng Homelab: Cách SSH từ xa đơn giản nhất

Đăng vào 1 tháng trước

• 6 phút đọc

Xây dựng Homelab: Cách SSH từ xa đơn giản nhất

Khi tôi bắt đầu xây dựng homelab của mình, một trong những điều tôi muốn là có thể truy cập nó từ bất kỳ đâu. Sự lựa chọn rõ ràng mà mọi người thường nói đến là chuyển tiếp cổng (port forwarding). Nhưng đây là vấn đề: tôi thậm chí không có router, tôi phụ thuộc vào một điểm phát Wi-Fi di động để có internet. Và điểm phát Wi-Fi di động không cung cấp cho bạn địa chỉ IP công cộng thực, vì vậy không có cách nào để chuyển tiếp cổng.

Ngay cả khi tôi có một router, tôi nhanh chóng nhận ra rằng chuyển tiếp cổng không phải là lựa chọn an toàn. Nó thực sự mở một cổng trên máy của bạn cho cả thế giới, và điều đó có nghĩa là bất kỳ ai cũng có thể cố gắng truy cập vào đó. Đối với một người mới như tôi, điều đó nghe có vẻ như rắc rối hơn là học hỏi.

Đó là lúc tôi biết đến Tailscale. Điều làm tôi ấn tượng là cách nó đơn giản hóa mọi thứ: không cần lo lắng về địa chỉ IP công cộng, không cần làm phiền với router, và không cần mở cổng. Nó thiết lập một kết nối riêng tư, an toàn giữa các thiết bị của tôi, gần như là phép màu. Đột nhiên, việc SSH vào homelab của tôi từ bất kỳ đâu trở nên dễ dàng và an toàn.

Thiết lập Tailscale cho laptop Windows

Bước 1: Tạo tài khoản Tailscale

Đầu tiên, bạn cần tạo một tài khoản Tailscale và tải xuống ứng dụng cho laptop Windows của bạn (laptop này sẽ là máy chủ mà tôi sẽ truy cập vào laptop Linux của mình). Bạn có thể tải xuống Tailscale từ đường dẫn này.

Bước 2: Kết nối Tailscale

Khi bạn kết nối với Tailscale, cửa sổ dưới đây sẽ xuất hiện:

![Tailscale Connection](alt text)

  • Nhấp vào nút "Connect" từ hình ảnh trên và trong bảng điều khiển quản trị của bạn, bạn sẽ thấy có một máy đã kết nối, như hình dưới đây. Nó yêu cầu phê duyệt vì tôi đã cấu hình để phê duyệt thủ công cho một máy kết nối. Lý do cho điều này là để tôi có thể linh hoạt trong việc cấu hình kết nối và xác định địa chỉ IP theo ý muốn. Nếu bạn muốn áp dụng cài đặt phê duyệt thủ công, hãy vào Cài đặt -> Quản lý thiết bị -> Bật phê duyệt thủ công.

Bước 3: Thay đổi địa chỉ IP

  • Trong bảng điều khiển quản trị, nhấp vào ba dấu chấm và bạn sẽ thấy tùy chọn thay đổi địa chỉ IP của máy ở đó. Nếu bạn muốn cấu hình địa chỉ IP, bạn có thể làm như dưới đây. Nếu bạn muốn đọc thêm về địa chỉ IP và CGNAT mà Tailscale sử dụng, bạn có thể tham khảo tài liệu này.

  • Tôi thích giữ hai octet cuối của tailnet giống như địa chỉ IPv4 riêng của máy của tôi. Bạn có thể xác minh cả hai bằng hình ảnh dưới đây.

  • Sau khi cập nhật địa chỉ IP, bạn cần phê duyệt kết nối, vì vậy hãy phê duyệt bằng cách nhấp vào ba dấu chấm rồi chọn phê duyệt.

Thiết lập Tailscale cho homelab Linux

Bước 1: Tải Tailscale cho Linux

  • Truy cập trang tải xuống và tải Tailscale cho Linux, bạn có thể tham khảo liên kết trên hoặc sử dụng đoạn mã bên dưới:
bash Copy
curl -fsSL https://tailscale.com/install.sh | sh
sudo apt install tailscale

Bước 2: Kết nối Tailscale với mạng

  • Để kết nối Tailscale vào mạng của bạn, sử dụng lệnh sudo tailscale up và truy cập vào liên kết đăng nhập mà bạn nhận được.
  • Nếu lệnh trên báo lỗi "tailscale.service not found", điều đó có nghĩa là bạn cần khởi động dịch vụ và để làm điều đó, bạn có thể chạy sudo systemctl start tailscaled.
  • Khi bạn đăng nhập, nó sẽ lại hiển thị trang kết nối, bạn cần kết nối vào cùng một tailnet với laptop Windows (sử dụng cùng một email để đăng nhập).
  • Trong console của bạn, bây giờ bạn sẽ thấy hai máy, bạn có thể thay đổi địa chỉ IP của máy mới và phê duyệt nó. Cài đặt của bạn sẽ trông như hình dưới đây.

Bước 3: Xác minh kết nối

  • Để xác minh xem máy Linux đã kết nối hay chưa, bạn có thể sử dụng lệnh ip a và sẽ có một mục cho Tailscale với địa chỉ IP mà bạn vừa đặt.

Bật SSH cho homelab

Bước 1: Chạy lệnh Tailscale

  • Trong một cửa sổ terminal trên homelab, chạy lệnh Tailscale để quảng bá SSH cho máy ảo đó:
bash Copy
sudo tailscale set --ssh

Bước 2: Cấu hình quyền truy cập

  • Mở trang Access Controls trong bảng điều khiển quản trị Tailscale và thêm các dòng sau vào tệp chính sách tailnet của bạn để cho phép kết nối mạng đến máy ảo:
json Copy
"grants": [
   {
      "src": ["yoursigninemail@gmail.com"],
      "dst": ["100.78.10.1"],
      "ip": ["22"]
   }
]

Bước 3: Thêm quyền truy cập SSH

  • Trong tab đó, thêm các quy tắc sau vào phần SSH của tệp chính sách tailnet của bạn để cho phép truy cập SSH đến máy ảo:
json Copy
"ssh": [
           { "action": "accept",
             "src": ["yoursigninemail@gmail.com"],
             "dst": ["autogroup:self"],
             "users": ["root","autogroup:nonroot", "<your-local-username>"]
           }
       ],

Bước 4: Xác minh người dùng

  • Để xem (trong trường hợp của tôi là local-user), chạy lệnh sau trong terminal homelab: whoami

Truy cập HomeLab từ máy Windows

Bước 1: Kết nối từ terminal Windows

  • Bây giờ bạn có thể truy cập homelab của mình từ terminal Windows bằng lệnh sau: ssh local-user@100.64.65.66
  • Tôi đang truy cập bằng git bash trên Windows và bạn có thể thấy kết quả cuối cùng dưới đây.

Kết luận

Việc thiết lập SSH để truy cập homelab từ xa không còn là một nhiệm vụ phức tạp với Tailscale. Không chỉ giúp đơn giản hóa quá trình kết nối, mà còn tăng cường an ninh cho hệ thống của bạn. Nếu bạn muốn tìm hiểu thêm về các giải pháp bảo mật cho homelab của mình, hãy theo dõi các bài viết tiếp theo của chúng tôi.

Câu hỏi thường gặp (FAQ)

  1. Tailscale có miễn phí không?
    • Tailscale cung cấp một gói miễn phí với các tính năng cơ bản. Bạn có thể nâng cấp lên các gói trả phí để có thêm chức năng.
  2. Tôi có thể sử dụng Tailscale trên nhiều thiết bị không?
    • Có, bạn có thể cài đặt Tailscale trên nhiều thiết bị và kết nối chúng với nhau mà không gặp vấn đề gì.
  3. Có an toàn khi sử dụng SSH qua Tailscale không?
    • Có, Tailscale mã hóa tất cả dữ liệu qua kết nối, giúp bảo vệ thông tin của bạn khỏi các mối đe dọa bên ngoài.

Thực hành tốt nhất

  • Luôn cập nhật phiên bản mới nhất của Tailscale để đảm bảo tính năng và bảo mật tốt nhất.
  • Sử dụng các phương pháp xác thực mạnh mẽ để bảo vệ tài khoản của bạn.

Những cạm bẫy thường gặp

  • Không cấu hình chính xác quyền truy cập có thể dẫn đến việc không thể kết nối. Hãy chắc chắn kiểm tra lại cấu hình của bạn.

Mẹo hiệu suất

  • Đảm bảo bạn có kết nối internet ổn định để tránh gián đoạn trong quá trình SSH.

Hướng dẫn khắc phục sự cố

  • Nếu bạn gặp vấn đề kết nối, hãy kiểm tra lại dịch vụ Tailscale có đang chạy hay không và xác minh các thiết lập IP.
Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào