NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
28/04/2021
Lượt xem

Hướng dẫn sử dụng và tạo SSH key đơn giản nhất

28/04/2021
11 phút đọc
Lượt xem

Đánh giá

5/5 - (69 bình chọn)

Việc tạo SSH key cho server sẽ tăng tính bảo mật hơn. Vậy SSH key là gì? Cách tạo SSH Key cho server của mình? Bài viết này sẽ hướng dẫn cho các bạn chi tiết và cụ thể nhất.

SSH Key là gì?

Secure Shell (hay còn gọi là SSH) là một giao thức mật mã cho phép người dùng thực hiện dịch vụ qua các mạng không được bảo mật. SSH Key sẽ mang đến nhiều sự bảo mật về đăng nhập hơn là chỉ dùng mật khẩu thông thường. Trong khi mật khẩu thông thường có thể bị bẻ khóa thì SSH Key gần như là không thể giải mã.

SSH Key là gì?
SSH Key là gì?

Việc tạo một cặp Key sẽ cung cấp hai chuỗi ký tự: Một public key và một private key. Public key có thể được đặt ở bất kỳ server nào. Sau đó mở khóa bằng cách kết nối với máy client đã có private key. Khi cả hai đã khớp nhau, hệ thống sẽ mở khóa mà không cần mật khẩu. Ta còn có thể bảo vệ private key bằng một passphrase để tăng cường sự bảo mật.

Trong các lệnh ở bài viết này, sẽ có một số giá trị được highlight – chính là các biến, hãy thay thế chúng bằng các giá trị riêng của mình.

Điều kiện để kích hoạt SSH key trên Windows 10

  • Hệ thống đang chạy Windows 10
  • User account với quyền quản trị
  • Truy cập được vào command prompt
  • Một trình duyệt web (tùy chọn, dùng để download PuTTY)

Hướng dẫn tạo SSH key

1. Tạo một RSA Key Pair

Đầu tiên hãy tạo một key pair trên máy client (có thể là máy tính riêng):

ssh-keygen -t rsa

2. Lưu trữ key và passphrase

Khi nhập lệnh Gen Key, bạn sẽ nhận được một số câu hỏi:

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Nhấn Enter, lưu file vào user home (trong bài viết này sẽ sử dụng tên của user là demo để làm mẫu).

Enter passphrase (empty for no passphrase):

Passphrase được sử dụng hay không thì tùy thuộc vào người dùng. Việc sử dụng passphrase mang lại một số lợi ích: tính bảo mật của key không bao giờ được hiển thị với bất kỳ ai khác, cho dù nó được mã hóa như thế nào. Nếu private key được bảo vệ bằng passphrase rơi vào tay user trái phép, họ sẽ không thể đăng nhập vào các tài khoản cho đến khi tìm ra được passphrase. Tất nhiên, nhược điểm duy nhất của passphrase là phải nhập nó mỗi khi sử dụng key pair.

Toàn bộ quá trình tạo key sẽ như sau:

ssh-keygen -t rsa
Output Generating public/private rsa key pair. Enter file in which to save the key (/home/demo/.ssh/id_rsa):  Enter passphrase (empty for no passphrase):  Enter same passphrase again:  Your identification has been saved in /home/demo/.ssh/id_rsa. Your public key has been saved in /home/demo/.ssh/id_rsa.pub. The key fingerprint is: 4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 @a The key's randomart image is: +--[ RSA 2048]----+ |          .oo.   | |         .  o.E  | |        + .  o   | |     . = = .     | |      = S = .    | |     o + = +     | |      . o + o .  | |           . o   | |                 | +-----------------+

Public key hiện nằm trong /home/demo/.ssh/id_rsa.pub. Private key (identification) hiện nằm trong /home/demo/.ssh/id_rsa.

3. Sao chép Public Key

Khi key pair đã được tạo, hãy đặt public key trên server mà chúng ta muốn sử dụng.

Sao chép public key vào file authorized_keys của máy bằng lệnh ssh-copy-id. Đảm bảo thay thế username và địa chỉ IP như mẫu bên dưới.

ssh-copy-id demo@198.51.100.0

Lưu ý: Nếu sử dụng Mac, ssh-copy-id sẽ không được cài đặt trên hệ thống. Tuy nhiên có thể cài đặt nó bằng Homebrew:

brew install ssh-copy-id

Ngoài ra còn có thể dán các key bằng SSH:

cat ~/.ssh/id_rsa.pub | ssh demo@198.51.100.0 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Cho dù chọn sử dụng lệnh nào thì các dòng sau sẽ vẫn hiển thị:

The authenticity of host '198.51.100.0 (198.51.100.0)' can't be established. RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '198.51.100.0' (RSA) to the list of known hosts. user@198.51.100.0's password:

Thông báo này đảm bảo rằng không có extra key nào được thêm vô.

Bây giờ hãy tiếp tục và đăng nhập vào user profile mà không cần phải nhập mật khẩu. Tuy nhiên, nếu đặt passphrase khi tạo SSH key, sẽ có yêu cầu nhập passphrase tại thời điểm đó (cũng như cho mọi lần đăng nhập kế tiếp).

4. Vô hiệu hóa mật khẩu cho root login

Khi đã sao chép các SSH Key vào server của mình và đảm bảo rằng có thể đăng nhập bằng SSH Key. Hãy hạn chế root login thành chỉ có thể đăng nhập thông qua SSH Key.

Để thực hiện việc này, mở file SSH config:

sudo nano /etc/ssh/sshd_config

Trong file đó, hãy tìm dòng PermitRootLogin và sửa đổi nó như bên dưới để đảm bảo rằng user chỉ có thể sử dụng SSH Key:

/etc/ssh/sshd_config
PermitRootLogin without-password

Lưu và đóng file khi đã hoàn tất.

Để lưu những thay đổi này, dùng lệnh sau:

sudo systemctl reload sshd.service

Kích hoạt SSH Key Windows 10 bằng OpenSSH Client

1. Kiểm tra OpenSSH Client được cài đặt chưa

Đầu tiên, kiểm tra xem bạn đã cài đặt OpenSSH client chưa:

1. Mở panel Settings, nhấp vào Apps.

2. Dưới heading Apps and Features, click vào Optional Features.

Tạo SSH Key Windows 10 bằng OpenSSH Client
Tạo SSH Key Windows 10 bằng OpenSSH Client

3. Lướt xuống list để tìm xem OpenSSH Client được liệt kê chưa

  • Nếu chưa, click vào dấu + bên cạnh Add a feature.
  • Trượt xuống dưới danh sách để tìm và chọn OpenSSH Client.
  • Cuối cùng, nhấp vào Install.
Hướng dẫn tạo SSH key đơn giản
Hướng dẫn tạo SSH key đơn giản

2. Mở Command Prompt

1. Nhấp vào Windows key

2. Nhập cmd

3. Dưới phần Best Match, chuột phải vào Command Prompt

4. Nhấn vào Run as Administrator

Cách tạo SSH Key bằng OpenSSH Client
Cách tạo SSH Key bằng OpenSSH Client

5. Nếu được thông báo, chọn Yes ở trong phần pop-up Do you want to allow this app to make changes to your devide?

3. Sử dụng OpenSSH để tạo SSH Key Pair

1. Trong command prompt, nhập:

ssh-keygen

2. Theo mặc định, hệ thống sẽ lưu key vào C:\Users\your_username\.ssh\id_rsa. Bạn có thể sử dụng tên mặc định, hoặc chọn các tên khác theo ý mình. Việc này có thể giúp phân biệt các key khác nhau, nếu bạn dùng nhiều key pair. Để lựa chọn các tùy chọn mặc định, chọn Enter:

kích hoạt SSH Key Pair
Kích hoạt SSH Key Pair

Lưu ý: Nếu file có tên tương tự đã tồn tại, bạn sẽ được hỏi xem có muốn ghi đè file đó không.

3. Sau đó bạn sẽ được yêu cầu enter a passphrase. Nhấn Enter để bỏ qua bước này.

4. Hệ thống sẽ kích hoạt key pair, rồi hiển thị key fingerprint và một randomart image.

5. Mở file browser của bạn.

6. Điều hướng đến C:\Users\your_username\.ssh.

7. Bạn sẽ thấy có hai file. Nhận dạng sẽ được lưu trong file id_rsa và public key được gắn nhãn id_rsa.pub. Đây chính là SSH key pair của bạn.

Tạo SSH Key
Tạo SSH Key

Lưu ý: Thông thường, public key sẽ được xác định bằng phần mở rộng .pub. Bạn có thể sử dụng Notepad để xem nội dung của private và public key.

Kích hoạt SSH Key Windows 10 bằng PuTTY

Trước khi OpenSSH được đi kèm với Windows, công cụ PuTTY từng là tiêu chuẩn vàng cho việc kích hoạt SSH key.

1. Cài đặt PuTTY

1. Đi đến trang của developer, download trình cài đặt PuTTY:

  • https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

2. Nhấp đúp chuột vào file đã donwload, rồi làm theo trình cài đặt wizard để cấu hình, trừ khi bạn có nhu cầu cụ thể để thay đổi. Click vào Next rồi đi đến màn hình tiếp theo.

Tạo SSH Key Windows 10 bằng PuTTY
Tạo SSH Key Windows 10 bằng PuTTY
  • Chọn cài đặt product features PuTTY. Chọn các cài đặt mặc định nếu bạn không có nhu cầu khác. Click Next để sang màn hình tiếp theo.
Hướng dẫn kích hoạt SSH key
Hướng dẫn kích hoạt SSH key
  • Khi quá trình hoàn tất, chọn Finish để thoát trình cài đặt wizard.

2. Chạy PuTTY SSH Key Generator

  1. Nhấp Windows key.
  2. Nhập vào puttygen.
  3. Dưới phần Best Match, chuột phải vào PuTTYgen.
  4. Click Run as administrator.
  5. Nếu được thống báo, click Yes trên pop-up Do you want to allow this app to make changes to your device? 

3. Sử dụng PuTTY để tạo SSH Key Pair

Quá trình dưới đây sẽ kích hoạt key RSA, một loại thuật toán mã hoá cổ điển, được sử dụng rộng rãi. Công cụ keygen PuTTY cũng cung cấp một số thuật toán khác – DSA, ECDSA, Ed22519, SSH-1 (RSA).

Nếu bạn yêu cầu một thuật toán mã hóa khác, hãy tùy chọn thuật toán mong muốn trong heading Parameters trước khi kích hoạt key pair.

1. Trong cửa sổ PuTTY Key Generator, click Generate.

2. Di chuyển con chuột quanh các box xám để lấp đầy thanh màu xanh.

sử dụng puTTy để tạo SSH Key Pair
Sử dụng puTTy để tạo SSH Key Pair

3. Lưu lại public key:

  • Click vào nút có nhãn Save public key.
  • Chọn một địa điểm để lưu key.
  • Đặt tên key (ví dụ như putty_key.pub)
public key generator
Public key generator

4. Lưu lại private key:

  • Nhấp vào menu Conversions ở phía trên
  • Chọn Export OpenSSH Key
  • Bạn sẽ được yêu cầu xem có muốn lưu key mà không có passphrase không. Chọn Yes.
  • Chọn địa điểm lưu key (thường là cùng folder với public key).
  • Đặt lên key (ví dụ: putty_key).

Lời kết

Hy vọng bài viết trên giúp bạn tạo được SSH key và sử dụng đơn giản. Nếu có thắc mắc hay đóng góp ý kiến, mời bạn để lại bình luận phía dưới bài viết này. Vietnix xin chân thành cảm ơn bạn!

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
1 Comment
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
ABC
Khách
ABC
21 ngày trước

vậy vô hiệu hóa ssh keys sao nhỉ

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG