Cách sử dụng SSH Key

SSH Keyslà một phương thức xác thực đăng nhập với máy chủ qua SSH bằngviệc đối chiếu giữa một cặp keys, bao gồm một khóa riêng tư [private key] và khóa công khai [public key] tương ứng.

Khi bạn đăng nhập VPS thông qua usernamerootvà passworddo nhà phát hành cung cấp. Tuy sử dụng mật khẩu login vẫn tiềm ẩn những rủ ro về bảo mật như:

  • Bạn sẽ mật quyền kiểm soát nếu như để lộ mật khẩu.
  • Bị tấn công Brute Force để dò tìm mật khẩu.

Private KeyPublic Key luôn đi cặpvới nhau,cặp key nàyđược mã hóa vớinhau thông qua một thuật toán riêng của nó.Public keybỏ lên máy chủ của bạn, cònPrivate keybạn sẽ lưu ở máy và khi đăng nhập vào server, server sẽ yêu cầu bạn gửi thông tinđăng nhập kèm theo Private Key. Server sẽ kiểm tra xemPrivate key của bạn có khớp với Public key có trên server hay không?

  • Private Keylà một file text chứa dữ liệu được mã hóa, sử dụng thay cho password, thường được lưu trữcẩn thận trênmáy tính bạn. Thông thường, private key có độ dài ít nhất 2048bit và có thể được mã hóa bằng cụm mật khẩu nhằm tránh trường hợp bị sử dụng ngoài ý muốn. Định dạng file tùy thuộc phần mềm tạo keys, có thể OpenSSH Key, PuTTy Private Key Files .ppkhoặc Bitvise Keypair Files .bkp
  • Public Keycũng là một file text chứadữ liệu được mã hóa, có thể được cài đặt ở bất kỳ một server nào. Khi bạn gửi yêu cầu đăng nhập kèm private key, server sẽ kiểm tra sự trùng khớp với public key trên server nhằm xác thực yêu cầu truy cập. Định dạng file .pub

1. Cách tạo SSH Key

1.1 Đối với window

Hầu hếtcác các phần mềm SSH đều có công cụ tạo Keys, ví dụ:PuTTygen, ZOC, Bitvise SSH, ...Để đảm bảo bảo mật, bạn cần tạo cặp keys mã hóa bởi thuật toán RSA2 với độ dài ít nhất 2048bit.

Tạo SSH Keys bằng PuTTyGen:

Nếu bạn sử dụng Windows có thểdùng phần mềm PuTTY-Gen để tạo SSH key, bạn có thể tải PuTTY-Gentại đây.

Mở phần mềmPuTTygen, chọn Generate

Sau khi đã Generate xong, sẽ tạo ra môt bảng hội thoại sau:

Key passphrase:Đặt mật khẩu cho Private Key.

Save private key: Private Key lưu ở phía cá nhân. Chú ý : nên lưu Private Key một nơi thật an toàn,

Save public key: Public Key lưu ở phía server.

1.2 Đối với VPS

Các bạn có thể login vào VPS thông quaSSH và chạy lệnh sau:

ssh-keygen -t rsa

Trong quá trình cài đặt, chương trình sẽ hỏi bạn nơi lưu keys vàmật khẩu sử dụng private key.

ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key [/root/.ssh/id_rsa]: #nơi lưu key Created directory '/root/.ssh'. Enter passphrase [empty for no passphrase]: #mật khẩu cho private key Enter same passphrase again: #xác nhận lại mật khẩu cho private key Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:HHEVGfBnBDwCGloexTKktTLMs7Upyreg+KUSGHXC34I The key's randomart image is: +---[RSA 2048]----+ | . .*o+.o+==. | | +o.*o=.o..+. | | . =O.=o. ...o | |. E o*.+ . o | |.. o.o S | |o. . . | | .+ o | |o. = . | |ooo . | +----[SHA256]-----+

Keys được tạo theo thuật toán mã hóa RSA, độ dài 2048bit và lưu tại/root/.ssh/. Trong đó, Private Key làid_rsacòn Public Key làid_rsa.pub.

2. Thêm Public Key vào VPS

Bạn cần lưu thông tin Public Key tại~/.ssh/authorized_keysđể xác thực đăng nhập sử dụng SSH Keys:

Gõ các lệnh dưới đây để tạo thư mục.ssh/vàfileauthorized_keys:

# mkdir ~/.ssh/ # vi ~/.ssh/authorized_keys

Copy toàn bộ nội dung Public key sau đó lưu lại và thoát khỏi editor

Bật chế độ đăng nhập bằng SSH Keys: kích hoạt [uncomment] các tham số sau trong SSH Config tại/etc/ssh/sshd_config

  • PubkeyAuthentication yes
  • AuthorizedKeysFile .ssh/authorized_keys

Sau đó, khởi động lại SSH Service

# service sshd restart

3. Sử dụng SSH Key

Để sử dụng SSH Keys truy cập VPS, các bạn chỉ cần login thông qua các phần mềm SSH như PuTTy, Bitvise, ZOC và lựa chọn file Private Key đã tạo khi trước.

Lưu ý: Đăng nhập bằng SSH Client nào thì dùng chính phần mềm ý tạo SSH Keys.

Đối với PuTTy

Nếu sử dụng OpenSSH Keys [keys tạo bởi lệnh trong Linux/MacOS,], bạn cần dùng PuTTygen để convert Private Key sang chuẩn đăng nhập với PuTTy.

Nhập IP VPS

Chọn đường dẫn tới Private Key

Sau khi đăng nhập được bằng SSH key

4.Tắt chức năng sử dụng password

Mở file/etc/ssh/sshd_configsửa các giá trị của các tham số sau:

PasswordAuthentication no UsePAM no

Sau đó, khởi động lại SSH Service

service sshd restart

Chúc các bạn thành công.

Video liên quan

Chủ Đề