# Cặp khóa

Cặp khóa là một phương thức đăng nhập an toàn và tiện lợi, thường được sử dụng để quản lý hàng loạt máy chủ doanh nghiệp.
Một cặp khóa (khóa công khai và khóa riêng) được tạo ra thông qua các thuật toán mã hóa, mặc định là mã hóa RSA 4096-bit.

## Tính năng và ưu điểm
So với đăng nhập bằng mật khẩu, đăng nhập bằng khóa có những ưu điểm sau:
* Bảo mật: Xác thực đăng nhập bằng cặp khóa SSH an toàn và đáng tin cậy hơn
* Tiện lợi:
  * Sử dụng khóa riêng để đăng nhập vào máy chủ mục tiêu thông qua client SSH, bạn không cần nhập mật khẩu
  * Thuận tiện cho việc đăng nhập từ xa vào hàng loạt máy chủ Linux để quản lý dễ dàng

## Hạn chế sử dụng
Các hạn chế sau áp dụng cho việc sử dụng cặp khóa SSH:
* **Chỉ hỗ trợ cho các máy chủ Linux có hỗ trợ CloudInit.**
* Chỉ có thể tạo cặp khóa RSA 4096-bit.
* Khi tạo máy chủ qua giao diện điều khiển và chọn đăng nhập bằng khóa, một máy chủ Linux chỉ có thể liên kết một cặp khóa.
* Nếu một cặp khóa được liên kết trong quá trình tạo máy chủ, việc tải lại hệ thống và liên kết một cặp khóa mới sẽ thay thế cặp khóa ban đầu.
* Đối với nhu cầu sử dụng nhiều cặp khóa để đăng nhập vào một máy chủ, hãy sửa đổi thủ công tệp `~/.ssh/authorized_keys` bên trong máy chủ để thêm nhiều cặp khóa.

## Phương thức tạo
* Được tạo bởi giao diện do VNPT Cloud Cloud cung cấp.
Mặc định là mã hóa RSA 4096-bit.
>Lưu ý: Nếu cặp khóa của bạn được tạo bởi chức năng "Tạo cặp khóa" trong giao diện điều khiển, hãy chắc chắn tải xuống và lưu giữ an toàn khóa riêng khi cặp khóa được tạo lần đầu. Nếu cặp khóa này được liên kết với một máy chủ, bạn sẽ không thể đăng nhập vào máy chủ đó nếu không có khóa riêng.
* Người dùng có thể tự tạo bằng công cụ tạo cặp khóa SSH.
Cặp khóa được nhập chỉ hỗ trợ mã hóa ssh-rsa.

## Cách sử dụng
* Tạo/Nhập một cặp khóa

<!-- image-todo -->

![img](https://cdn.udelivrs.com/2025/04/880e8ab6387f8e6324abf16178411493_1744606999951.png)
<br>
>**Lưu ý**：
>Sau khi tạo thành công cặp khóa SSH, VNPT Cloud sẽ lưu phần khóa công khai của cặp khóa SSH. Trong máy chủ Linux, nội dung khóa công khai được đặt trong tệp `~/.ssh/authorized_keys`. Bạn cần tải xuống và lưu trữ an toàn khóa riêng. Khóa riêng sử dụng định dạng PKCS#8 được mã hóa PEM (Privacy-Enhanced Mail) không được mã hóa.

* Khi tạo/cài đặt lại hệ thống, hãy chọn đăng nhập bằng khóa và chọn khóa mới tạo.
<!-- image-todo -->

* Mở phía máy khách SSH
* Xác định vị trí tệp khóa riêng của bạn, ví dụ như ```VNPT Cloud-test.cer```
* Nếu cần, hãy chạy lệnh này để đảm bảo khóa của bạn không bị người khác nhìn thấy. Ví dụ:
```bash
chmod 400 test.cer
```
* Kết nối với máy chủ của bạn. Ví dụ:
```bash
ssh -i ~/Desktop/test.cer  root@113.31.112.80 
```