Cách sử dụng SSH với máy chủ sau khi mới cài đặt

su dng ssh

SSH (Secure Shell) là một giao thức quan trọng giúp bạn kết nối và quản lý các máy chủ Linux hoặc Unix từ xa một cách an toàn. OpenSSH, một bộ công cụ mã nguồn mở, cung cấp phương thức kết nối bảo mật giữa máy khách và máy chủ, cho phép truyền tải dữ liệu mã hóa và thực thi lệnh từ xa một cách hiệu quả.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách đăng nhập vào máy chủ DataOnline bằng SSH, sử dụng cả phương pháp xác thực bằng mật khẩu và SSH Keys. Ngoài ra, hướng dẫn cũng sẽ chỉ cho bạn cách tạo SSH Keys và thêm chúng vào máy chủ một cách thủ công, giúp tăng cường bảo mật và loại bỏ rủi ro từ việc sử dụng mật khẩu truyền thống. Nếu bạn đang quản lý nhiều máy chủ hoặc cần truy cập từ xa một cách an toàn, việc sử dụng SSH Keys là giải pháp tối ưu giúp bảo vệ hệ thống của bạn khỏi các mối đe dọa bảo mật phổ biến

Cách kết nối bằng mật khẩu

Để kết nối đến máy chủ bằng SSH client và mật khẩu, mở cửa sổ lệnh trên máy trạm cục bộ và thực thi lệnh sau. Thay thế địa chỉ IP ví dụ bằng địa chỉ IP của máy chủ, bạn có thể tìm thấy nó trên trang thông tin máy chủ trong cổng thông tin khách hàng DataOnline.

$ ssh root@192.0.2.123

SSH hiển thị cảnh báo để xác nhận tính xác thực của máy chủ. Gõ Yes và nhấn Enter. Bạn sẽ thấy lời nhắc mật khẩu. Nhập mật khẩu và nhấn Enter.

Lưu ý: Mật khẩu sẽ không hiển thị khi bạn gõ.

Bây giờ, bạn đã đăng nhập vào máy chủ và có thể sử dụng các lệnh để tương tác với máy chủ.

SSH Key Pair là gì

Cặp SSH key bao gồm một public key và một private key. Public key được lưu trữ trên máy chủ, trong khi private key được lưu trên máy tính cục bộ dùng để kết nối tới máy chủ từ xa. Cả hai key đều cần thiết để thực hiện kết nối SSH vào máy chủ bằng SSH keys.

Cách tạo Keys trên Windows, Linux, Mac

Tiện ích ssh-keygen có thể được sử dụng để tạo SSH Keys.

Cách sử dụng lệnh ssh-keygen

Sử dụng lệnh dưới đây để tạo cặp Key trên Windows, Linux và Mac.

ssh-keygen -t ed25519 -C email@example.com

Trong đó:

  • ssh-keygen – Lệnh để tạo cặp SSH Key
  • -t – Tham số để chỉ định loại Key
  • ed25519 – Loại Key sẽ được tạo. ed25519 được khuyến nghị vì nó an toàn hơn các Key loại RSA
  • -C – Tham số để chỉ định bình luận cho Key
  • email – Bình luận sẽ được thêm vào cuối Key. Nó sẽ giúp xác định Keys khi có nhiều Public Keys có sẵn trên máy chủ của bạn (sẽ bàn thêm về chủ đề này sau).

cach su dung ssh voi may chu dataonline 1

Tạo Keys trên Windows

Khởi chạy command prompt và sử dụng lệnh dưới đây để tạo cặp SSH Key.

C:\users\username> ssh-keygen -t ed25519 -C email@example.com

Hệ thống sẽ nhắc bạn nhập vị trí để tạo Keys. Giá trị mặc định được hiển thị trong ngoặc như (C:\Users\Username/.ssh/id_ed25519).

Lưu ý: Khuyến nghị sử dụng thư mục này. Bởi vì khi đăng nhập, SSH sẽ tìm kiếm Keys trong thư mục mặc định. Nếu bạn sử dụng các thư mục khác ngoài thư mục mặc định, bạn cần chỉ định vị trí Key một cách rõ ràng.

Nhấn Enter để sử dụng vị trí mặc định.

Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\username/.ssh/id_ed25519):

Hệ thống hiển thị lời nhắc để nhập passphrase cho Key. Bạn có thể nhập passphrase nếu muốn, hoặc bạn có thể nhấn Enter để tạo Keys mà không có passphrase. Nếu bạn chọn nhập passphrase, bạn cần sử dụng nó mỗi lần khi đăng nhập bằng Key này.

Enter passphrase (empty for no passphrase):

Sau khi xác nhận passphrase, Key được tạo và lưu trữ ở vị trí mặc định, và thông báo dưới đây được hiển thị.

Your identification has been saved in    C:\Users\username/.ssh/id_ed25519.
Your public key has been saved in C:\Users\username/.ssh/id_ed25519.pub.
The key fingerprint is:
SHA256:W6ceE1mGIi87YjD9BEUoROg3Aie/fOZMr1c+qOSD8Wk email@example.com
The key's randomart image is:
+--[ED25519 256]--+
| +o  oo          |
+----[SHA256]-----+

Tạo Keys trên Linux

Khởi chạy Linux shell và sử dụng lệnh dưới đây để tạo cặp SSH Key.

$ ssh-keygen -t ed25519 -C email@example.com

Hệ thống nhắc bạn nhập vị trí cho Keys. Giá trị mặc định được hiển thị trong ngoặc như (/home/username/.ssh/id_ed25519)

Lưu ý: Khuyến nghị sử dụng thư mục này. Bởi vì khi đăng nhập, SSH sẽ tìm kiếm Keys trong thư mục mặc định. Nếu bạn sử dụng các thư mục khác ngoài thư mục mặc định, bạn cần chỉ định vị trí Key một cách rõ ràng.

Nhấn Enter để sử dụng vị trí mặc định.

Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\username/.ssh/id_ed25519):

Hệ thống hiển thị lời nhắc để nhập passphrase cho Key. Bạn có thể nhập passphrase nếu muốn, hoặc bạn có thể nhấn Enter để tạo Keys mà không có passphrase. Nếu bạn chọn nhập passphrase, bạn cần sử dụng nó mỗi lần khi đăng nhập bằng Key này.

Enter passphrase (empty for no passphrase):

Sau khi xác nhận passphrase, Key được tạo và lưu trữ ở vị trí mặc định, và thông báo dưới đây được hiển thị.

Your identification has been saved in /home/ubuntu/.ssh/id_ed25519
Your public key has been saved in /home/ubuntu/.ssh/id_ed25519.pub

The key fingerprint is:
SHA256:c0hYyBV+e1vY7DUVage/3nYk4z9DvxzrLmsiek7dkZE email@example.com
The key's randomart image is:
+--[ED25519 256]--+
|     . o+.   . . |
+----[SHA256]-----+
|      o+      = .|

Tạo Keys trên Mac

Khởi chạy terminal và sử dụng lệnh dưới đây để tạo cặp SSH Key.

% ssh-keygen -t ed25519 -C email@example.com

Hệ thống nhắc bạn nhập vị trí để tạo Keys. Giá trị mặc định được hiển thị trong ngoặc như (/Users/Username/.ssh/id_ed25519).

Lưu ý: Khuyến nghị sử dụng thư mục này. Bởi vì khi đăng nhập, SSH sẽ tìm kiếm Keys trong thư mục mặc định. Nếu bạn sử dụng các thư mục khác ngoài thư mục mặc định, bạn cần chỉ định vị trí Key một cách rõ ràng.

Nhấn Enter để sử dụng vị trí mặc định.

Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/Username/.ssh/id_ed25519):

Hệ thống hiển thị lời nhắc để nhập passphrase cho Key. Bạn có thể nhập passphrase nếu muốn, hoặc bạn có thể nhấn Enter để tạo Keys mà không có passphrase. Nếu bạn chọn nhập passphrase, bạn cần sử dụng nó mỗi lần khi đăng nhập bằng Key này.

Enter passphrase (empty for no passphrase):

Sau khi xác nhận passphrase, Key được tạo và lưu trữ ở vị trí mặc định, và thông báo dưới đây được hiển thị.

Your identification has been saved in    /Users/Username/.ssh/id_ed25519.
Your public key has been saved in /Users/Username/.ssh/id_ed25519.pub.
The key fingerprint is:
SHA256:W6ceE1mGIi87YjD9BEUoROg3Aie/fOZMr1c+qOSD8Wk email@example.com
The key's randomart image is:
+--[ED25519 256]--+
| +o  oo          |
+----[SHA256]-----+

Cách thêm Key vào máy chủ hiện có

Lệnh SCP được sử dụng để sao chép tệp đến máy chủ từ xa. Public SSH Key của bạn phải được sao chép đến máy chủ để kích hoạt xác thực SSH. Bạn có thể sử dụng lệnh scp để sao chép Public Key đến máy chủ từ xa.

Khởi chạy command prompt hoặc Linux shell và thực thi lệnh dưới đây để sao chép Public Key.

C:\users\username> scp C:\Users\username\.ssh\id_ed25519.pub example_user@192.0.2.123:/home/example_user

Trong đó:

  • SCP – Lệnh để sao chép tệp
  • C:\Users\username.ssh\id_ed25519.pub – Vị trí Public Key đã tạo
  • example_user – Tên người dùng của máy chủ mà tệp cần được sao chép đến. Bạn cần có quyền truy cập vào máy chủ này
  • 192.0.2.123 – Địa chỉ IP của máy chủ
  • /home/example_user – Vị trí thư mục đích trên máy chủ

Tệp được sao chép vào thư mục. Bây giờ, bạn cần sao chép Key vào tệp authorized_keys và kích hoạt xác thực SSH. Đăng nhập vào máy chủ DataOnline mới tạo của bạn và điều hướng đến thư mục home của người dùng bằng lệnh dưới đây.

$ cd /home/example_user/

Tạo một thư mục .ssh nếu chưa tồn tại bằng lệnh dưới đây.

$ mkdir .ssh

Điều hướng đến thư mục .ssh.

$ cd .ssh

Tạo một tệp authorized_keys sẽ lưu trữ Public Key trong máy chủ bằng lệnh :

$ touch authorized_keys

Lệnh touch sẽ chỉ tạo tệp nếu nó chưa tồn tại.

Sau khi tệp được tạo, sao chép nội dung của Public Key vào tệp authorized_keys bằng lệnh cat:

$ cat /home/example_user/id_ed25519.pub >> authorized_keys

Keys được đặt ở vị trí thích hợp.

Kích hoạt xác thực SSH Keys

Các phương thức xác thực SSH được cấu hình trong tệp gọi là sshd_config.

Để kích hoạt xác thực bằng SSH Keys, điều hướng đến thư mục /etc/ssh/ bằng lệnh dưới đây.

$ cd /etc/ssh

Mở tệp sshd_config bằng lệnh dưới đây.

$ sudo nano sshd_config

Trong tệp, tìm và bỏ ghi chú hai dòng sau.

PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys   .ssh/authorized_keys2

Đặt tham số PubkeyAuthentication thành yes sẽ kích hoạt xác thực bằng Public Keys. Và tham số AuthorizedKeysFile chỉ định vị trí của Public Key. Bây giờ, Keys đã được thêm vào máy chủ hiện có. Bạn có thể SSH vào máy chủ bằng Public Key bằng các bước được định nghĩa trong phần tiếp theo.

Cách kết nối bằng Key

OpenSSH client cung cấp lệnh ssh để thiết lập kết nối SSH vào máy chủ. Khởi chạy command prompt và sử dụng lệnh dưới đây để SSH vào máy chủ bằng SSH Keys.

C:\users\username> ssh example_user@192.0.2.123

Trong đó:

  • ssh – lệnh để thiết lập kết nối
  • example_user – Tên người dùng để sử dụng để thực hiện kết nối
  • 192.0.2.123 – Địa chỉ IP của máy chủ

Lệnh này sẽ sử dụng Private Key trong thư mục ssh mặc định (./users/.ssh) của máy cục bộ của bạn. Nếu Public và Private Keys khớp nhau một cách chính xác, kết nối SSH sẽ được thiết lập và bạn có thể giao tiếp với máy chủ.

Cách triển khai máy chủ mới với Key

Để triển khai máy chủ mới với SSH Key, bạn cần tạo một SSH Key trong bảng điều khiển DataOnline. Làm theo các bước dưới đây để thêm SSH Key vào tài khoản DataOnline của bạn.

  1. Đăng nhập vào Cổng thông tin Khách hàng.
  2. Nhấp vào tên của bạn ở góc trên bên phải, sau đó chọn SSH Keys từ menu thả xuống.
  3. Nhấp vào nút “dấu cộng” màu xanh để thêm Key.
  4. Nhập một tên mô tả cho Key.
  5. Dán Public Key vào trường SSH Key.
    Screenshot of Add SSH Key screen in the Vultr customer portal
  6. Nhấp vào nút Add SSH Key để tạo SSH Key.

SSH Key sẽ được thêm vào, và bạn sẽ có thể chọn SSH Key này trong phần SSH Keys khi khởi chạy máy chủ mới.

Thông tin thêm

Để biết thêm thông tin, mời các bạn xem hướng dẫn khác của chúng tôi:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *