Bảo mật VPS bằng SSH Key

Sau khi tạo xong VPS, bạn sẽ được cấp 1 IP với username mặc định là root và password ngẫu nhiên.

thông tin đăng nhập vps

Username root tương đương với quyền quản trị cao nhất (admin).

Bạn sẽ sử dụng những thông tin này để kết nối với VPS thông qua 1 phần mềm kết nối (nếu máy bạn đang sử dụng HĐH Windows).

Phần mềm kết nối với VPS phổ biến nhất là: PuTTY, BitVise, MobaXterm…

Vì username mặc định luôn là root, nên các hacker có thể dễ dàng dò được mật khẩu và đánh cắp quyền quản trị của bạn (Brutal Force Attack)

Do đó, thay đổi phương thức kết nối với VPS để tăng tính bảo mật là 1 điều bắt buộc phải làm sau khi tạo VPS.

Một trong những cách phổ biến nhất là sử dụng SSH Key để đăng nhập thay vì mật khẩu.

SSH Key có 2 thành phần:

  • Public Key: là 1 file mã hóa được đặt trên VPS
  • Private Key: cũng là 1 file mã hóa, đặt trên máy tính cá nhân của bạn

Để đăng nhập thành công thì 2 file này phải trùng khớp với nhau.

Public key giống như cái Ổ KHÓA, còn Private Key giống như cái CHÌA KHÓA vậy.

Muốn mở được cửa, ta phải đến đúng địa chỉ nhà (là cái IP) và tra đúng cái chìa khóa vào ổ khóa.

Cái ổ khóa (Public key) thì lúc nào cũng được lưu trữ trên VPS rồi, nên ta không sợ mất.

Còn cái chìa khóa (Private Key) ở trên máy tính cá nhân của ta, nên ta phải giữ kỹ.

Đó là nguyên tắc hoạt động của SSH KEY.

Trong bài này, tôi sẽ hướng dẫn các bạn đăng nhập VPS sử dụng SSH Key bằng BitVise.

Các hướng dẫn và định nghĩa thông thường của SSH Key đều gắn liền với PuTTY.

Tuy nhiên, ở đây tôi sẽ dùng BitVise, vì nó có nhiều ưu điểm hơn so với PuTTY.

Hai cái tôi thích nhất là copy/paste của BitVise tiện hơn (paste là click chuột phải thay vì Windows + Ins) và BitVise có phần sFTP trong khi PuTTY không có.

Ok. Chúng ta bắt đầu.

TẠO SSH KEY

Đầu tiên, ta vẫn đăng nhập vào VPS theo mật khẩu thông thường.

Sau đó, bấm vào Client Key Manager.

vào client key manager để tạo ssh key

Trong Client Key Manager, bạn bấm vào Generate New

Chọn như mặc định.

Ở phần Passphrase, bạn nhập Mật Khẩu đăng nhập theo phương thức SSH key.

Cái Mật khẩu này bạn bắt buộc phải nhớ, nên lưu lại ở file text nào đấy.

tạo mật khẩu cho public key

Đây là điều khác biệt nhất của BitVise và PuTTY.

  • PuTTY sẽ cung cấp cái file Private Key và yêu cầu bạn nhập passphrase cho cái file này.
  • Trong khi đó, BitVise không tạo ra Private Key mà chỉ yêu cầu nhập Passphrase.

Nghĩa là với BitVise, bạn chỉ cần cung cấp cái Passphrase là đã có thể đăng nhập vào VPS rồi.

Còn với PuTTY, bạn phải nạp đúng Private Key và sau đó nhập đúng Passphare cho cái file này.

Về mặt bảo mật thì rõ ràng PuTTY bảo mật hơn BitVise.

Nhưng về mặt tiện lợi thì BitVise sẽ nhanh hơn và không sợ mất cài file Private Key.

Bạn có thể chọn nhập hay không nhập Passphrase ở đây.

Nếu không nhập Passphrase (để trống rồi bấm Generate) thì sau này, chỉ cần nhập đúng IP và phương thức Public key thì bạn đã có thể vào được VPS rồi.

Điều này là cực kỳ nguy hiểm.

Do đó, tôi không khuyến khích các bạn để trống phần này.

Ok. Tiếp tục. Sau khi nhập Passphrase, bấm Generate.

Sau khi Bitvise tạo xong SSH key, bấm Export. Chọn Public key >> OpenSSH format >> Export

Bạn lưu file này trên máy tính cá nhân của mình, nhưng nhớ save lại ở định dạng text nhé.

Bạn có thể đặt tên bất kỳ, tôi đặt là Public Key luôn cho dễ nhớ.

TẢI Public Key lên VPS

Bạn gõ các lệnh dưới đây để tạo thư mục .ssh/ và file authorized_keys trong thư mục đó:

 mkdir ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys 

chạy lệnh để tạo folder và file chứa public key

Lúc này, ở sFTP, bạn sẽ thấy file authorized_keys đã được tạo trong thư mục mới .ssh

File này là file trống, không có nội dung.

Bạn mở file này lên, sau đó copy/paste các ký tự trong file text Public key lưu trên máy tính cá nhân vào file này.

dán code vào public key

Save lại và thoát.

Như vậy là ta đã thiếp lập xong Public Key cho VPS.

ĐĂNG NHẬP VPS BẰNG SSH KEY

Ta log out Bitvise để đăng nhập lại bằng SSH Key thay vì Password.

Trong phần Intial method, ta chọn lại publickey thay vì password.

Ở phần client key, nhấp vào thanh sổ, chọn Global 1 tương ứng với Client Key ta tạo ở trên.

Bitvise cho phép ta tạo SSH Key ở nhiều Global khác nhau, bạn đảm bảo phải trỏ đúng đến số của nó.

Trong phần Passphrase nhập đúng cái Mật khẩu ta tạo lúc này (bạn nhớ là lưu cẩn thận cái pass này).

đăng nhập vps bằng public key thành công

Cuối cùng bấm Login.

Vậy là ta đã đăng nhập vào VPS thông qua password tự chọn của chúng ta.

Tuy nhiên, đến đây hacker vẫn dò được password của username root để chiếm quyền quản trị.

Cho nên chúng ta cần xóa đi phương thức đăng nhập này ngay sau khi kết nối thành công bằng SSH Key.

XÓA ĐĂNG NHẬP VPS BẰNG MẬT KHẨU THÔNG THƯỜNG

Bạn mở file /etc/ssh/sshd_config trong sFTP

Mở file bằng Note++, tìm đến dòng 66, thay chữ yes thành no

hủy đăng nhập vps bằng password

Tiếp tục tìm đến dòng 97, thay chữ yes thành no

Xong Save và thoát.

Cuối cùng, gõ lệnh để khởi động lại cấu hình đăng nhập mới

 service sshd restart  

Log out VPS.

Sau đó ta thử đăng nhập lại bằng Password thì bị báo lỗi.

Như vậy là ta đã hủy phương thức password thành công.

Lời kết

Thay đổi phương thức đăng nhập VPS bằng SSH Key là 1 việc bắt buộc phải làm sau khi tao xong một VPS mới.

Chúng ta không thể đăng nhập bằng mật khẩu với user root mãi được, vì nếu muốn, sớm hay muộn thì hacker nó cũng dò ra được.

Và lúc này…bạn mất tất cả.

Như thường lệ, nếu bạn gặp rắc rối gì trong quá trình tạo SSH key bằng Bitvise thì đừng ngần ngại liên hệ Vũ qua email contact@langthangweb.com

Hoặc để lại bình luận bên dưới.

Chúc các bạn tạo SSH Key thành công với Bitvise!

Tham khảo:

Tags:,

Bình luận của bạn