SSH Key cho phép bạn đăng nhập vào máy chủ mà không cần mật khẩu. Hướng dẫn này mô tả cách tạo SSH Keys sử dụng máy trạm Linux, Mac, hoặc Windows ở định dạng OpenSSH, phù hợp để sử dụng với các máy chủ DataOnline.
Nếu bạn đang sử dụng VPS Việt Nam từ DataOnline hoặc các nhà cung cấp khác, việc thiết lập SSH Key giúp bạn đăng nhập an toàn hơn mà không cần mật khẩu. Hướng dẫn này sẽ hỗ trợ bạn thực hiện điều đó dễ dàng trên mọi hệ điều hành.
Tạo SSH Key với OpenSSH
OpenSSH là tiêu chuẩn và thường có sẵn trên macOS và hầu hết các bản phân phối Linux. Chúng tôi cũng có hướng dẫn cài đặt cho người dùng Windows 10. Làm theo các bước sau để tạo SSH Key với các tiện ích OpenSSH.
1. Tạo Key của bạn với ssh-keygen, thay thế bằng địa chỉ email của bạn.
$ ssh-keygen -t ed25519 -C "your_email@example.com"
Lưu ý: Nếu bạn sử dụng hệ thống cũ không hỗ trợ thuật toán Ed25519, hãy sử dụng:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Theo mặc định, các Keys được lưu trữ trong thư mục ~/.ssh
. Hầu hết các SSH client tự động sử dụng các tên tệp mặc định này: Thuật toán: ED25519
(ưu tiên)
Public Key: id_ed25519.pub
Private Key: id_ed25519
Thuật toán: RSA
(ít nhất kích thước Key 2048-bit)
Public Key: id_rsa.pub
Private Key: id_rsa
Thuật toán: DSA
(không còn được khuyến nghị)
Public Key: id_dsa.pub
Private Key: id_dsa
Thuật toán: ECDSA
- Public Key:
id_ecdsa.pub
- Private Key:
id_ecdsa
2. Nhấn Enter để lưu Key ở vị trí mặc định.
Generating public/private ed25519 key pair. Enter file in which to save the key (/Users/example/.ssh/id_ed25519):
3. Bạn có thể nhập cụm mật khẩu (passphrase) cho Key của mình. Chúng tôi khuyên bạn nên sử dụng passphrase, nhưng bạn có thể nhấn Enter để bỏ qua lời nhắc này. Nếu bạn sử dụng passphrase, bạn sẽ phải nhập nó mỗi khi sử dụng Key trừ khi bạn sử dụng ssh-agent.
Enter passphrase (empty for no passphrase): Enter same passphrase again:
4. Key của bạn được tạo và lưu.
Your identification has been saved in /Users/example/.ssh/id_ed25519. Your public key has been saved in /Users/example/.ssh/id_ed25519.pub. The key fingerprint is: SHA256:qx6prR4Zo+VU7Fl8yivXzzzzzzzzJ/9NRnPbrC20w7g example@example.com The key's randomart image is: +--[ED25519 256]--+ | | | o . | | o B o + . | | B + + o + | | = = S o o o | | = + = O + + | | . + B B = * . | | = O + o | | .+o=.. E . | +----[SHA256]-----+
5. Hãy tạo bản sao lưu Private Key. Key không thể khôi phục nếu bị mất.
6. Trước khi kết nối đến máy chủ hiện có với SSH Key của mình, bạn cần thêm Public Key vào tệp authorized_keys
. Bạn cũng có thể thêm Public Key vào tài khoản DataOnline của mình.
Cài đặt OpenSSH trên Windows 10
OpenSSH client là một thành phần có thể cài đặt cho Windows 10 1809.
- Khởi chạy Settings sau đó đi đến Apps > Apps and Features > Manage Optional Features.
- Quét danh sách này để xem OpenSSH Client đã được cài đặt chưa. Nếu chưa, nhấp vào Add a feature.
- Tìm OpenSSH Client, sau đó nhấp vào Install.
- Tùy chọn, bạn cũng có thể cài đặt OpenSSH Client với PowerShell.
Sau khi cài đặt OpenSSH, hãy làm theo hướng dẫn trên để tạo SSH Key của bạn.
Tạo SSH Key trên Windows với PuTTYgen
PuTTYgen là một phần của bộ tiện ích PuTTY. Nó có sẵn cho tất cả các phiên bản Windows.
- Tải về phiên bản mới nhất của các tiện ích PuTTY. Chúng tôi khuyên bạn nên dùng gói MSI Windows Installer.
- Cài đặt gói và chạy PuTTYgen.
- Ở cuối cửa sổ chương trình, chọn EdDSA cho loại Key.
- Ở góc dưới bên phải, đặt “Curve to use for generating this key” thành Ed25519 (255 bits).
- Nhấp vào nút Generate. Sau đó, di chuyển chuột trong khu vực trống để tạo một số dữ liệu ngẫu nhiên.
- Nhập Key comment để giúp nhận diện Key dễ dàng hơn sau này.
- Private Key phải được giữ an toàn khỏi việc sử dụng trái phép. Chúng tôi khuyên bạn nhập
Key passphrase
để bảo vệ SSH Key. - Nhấp vào Save private key và lưu trữ nó một cách an toàn. Không thể khôi phục tệp này nếu bị mất. Tệp này là cặp Public/Private Key của bạn ở định dạng PuTTY. Bạn có thể nhập lại tệp này với PuTTYgen trong tương lai để xuất hoặc chuyển đổi định dạng của Public Key.
- Nhấp vào Conversions > Export OpenSSH key. Lưu tệp này và lưu trữ nó an toàn. Tệp này là Private SSH Key của bạn ở định dạng OpenSSH. Bạn có thể cần tệp này nếu bạn sử dụng SSH client khác ngoài PuTTY.
- Chọn văn bản trong hộp Public key for pasting into OpenSSH authorized_keys file và lưu nó vào một tệp. Đây là Public Key của bạn ở định dạng OpenSSH. Nếu bạn muốn thêm Key này vào tài khoản DataOnline, bạn cũng sẽ sao chép và dán nó vào Cổng thông tin Khách hàng.
Khôi phục Public Key bị mất
Nếu bạn có quyền truy cập vào Private Key, bạn có thể khôi phục Public Key với OpenSSH.
Truyền tùy chọn -y cho ssh-keygen và đường dẫn đến Private Key với tùy chọn -f. Khi ssh-keygen tạo lại Public SSH Key, bạn có thể chuyển hướng đầu ra đến một tệp tùy chọn.
Ví dụ, để tạo lại Public Key cho ~/example_key và gửi đầu ra đến ~/example_key.pub:
$ ssh-keygen -y -f ~/example_key > ~/example_key.pub
Nếu có đặt mật khẩu cho Key, bạn sẽ được nhắc nhập mật khẩu đó.
Thay đổi Passphrase của Key
Bạn có thể thay đổi passphrase trên Private Key với tùy chọn -p và truyền tên Key với tùy chọn -f.
$ ssh-keygen -p -f ~/example_key
Nhập passphrase cũ và mới (hai lần) tại lời nhắc.
Xem Fingerprint của Key
In ra fingerprint SHA256 của Key với tùy chọn -l, và truyền tên Key với tùy chọn -f.
$ ssh-keygen -l -f example_key
Đầu ra sẽ giống như thế này:
3072 SHA256:pqdEtfbmIRwqTk9PpApa7DMvAxqCA577vJ/FcgyUM0Q root@localhost (RSA).
Chuyển Key đến máy chủ của bạn
OpenSSH bao gồm một tiện ích để chuyển Key đến máy chủ của bạn. Khi sử dụng tiện ích này, bạn phải xác thực với máy chủ bằng SSH.
Chỉ định Public Key cần chuyển với tùy chọn -i. Thay thế ví dụ bằng tên người dùng và địa chỉ IP của máy chủ.
$ ssh-copy-id -i ~/.ssh/example_key.pub example_user@192.0.2.123
Bạn sẽ được nhắc xác thực với máy chủ và chuyển Key đến tệp authorized_keys của máy chủ từ xa.
Về định dạng SSH Key
OpenSSH 6.5 giới thiệu Keys ED25519 vào năm 2014, và chúng có sẵn trên hầu hết các hệ điều hành. Người ta tin rằng Keys ED25519 an toàn hơn RSA
, với hiệu suất tốt hơn. Nếu bạn sử dụng Key RSA, Viện Khoa học và Công nghệ Quốc gia Hoa Kỳ khuyến nghị kích thước Key ít nhất là 2048 bit.
Việc thuê máy chủ VPS ngày càng phổ biến với nhu cầu bảo mật cao. Sau khi tạo SSH Key thành công, bạn có thể áp dụng ngay để truy cập các máy chủ đã thuê mà không cần dùng mật khẩu, nâng cao tính an toàn và tiện lợi trong quản trị.
Thông tin thêm
Để biết thêm thông tin về quản lý SSH Keys, xem các hướng dẫn khác của chúng tôi:
- Triển khai máy chủ mới với SSH Key
- Cách thêm và xóa SSH Keys
- Kết nối với máy chủ sử dụng SSH Key
- Sử dụng SSH Key cho người dùng không phải root