Home » Categories » VPS

Hướng dẫn tạo và sử dụng SSH KEY

Bài hướng dẫn chỉ sử dụng với VPS sử dụng OS Linux

I. Tại sao phải sử dụng SSH KEY

Một trong các phương thức đăng nhập vào VPS khá an toàn đó là việc sử dụng SSH Key để thay thế cho mật khẩu. Mặc định mỗi VPS bạn sẽ đăng nhập vào bằng username root và mật khẩu root mà nhà cung cấp đã gửi cho bạn lúc thuê VPS, tuy nhiên việc sử dụng mật khẩu luôn có 2 nguy cơ lớn là:

  • Bạn sẽ mất hoàn toàn nếu lộ mật khẩu.
  • Các attacker có thể sử dụng Brute Force Attack để dò tìm mật khẩu.

Do đó, vHost khuyến khích các bạn làm quen với SSH Key để đăng nhập vào VPS, cũng như sử dụng nó để xác thực các kết nối từ bên ngoài vào cho an toàn hơn.

II. Cách tạo SSH KEY và đăng nhập VPS bằng sử dụng SSH KEY

1. Nếu các bạn sử dụng Linux

a. Cách tạo SSH KEY

Bật terminal trên máy linux của bạn lên và thực hiện theo các bước sau.

Thực hiện câu lệnh sau để tạo Public key

# ssh-keygen -t rsa

sau khi thực hiện câu lệnh này hệ thống sẽ yêu cầu bạn nhập passphrase (tại đây bạn không cần nhập cũng được ấn enter cho đến khi kết thúc, nhưng vHost khuyên bạn nên nhập vào trường này vì nó giống bảo mật 2 lớp cho VPS của bạn.)

b. Cách đưa SSH KEY vào trong VPS

Tiếp đến chúng ta cần copy đoạn Key này tới VPS của các bạn, ngay tại máy Linux của các bạn ta thực hiện lệnh sau:

#ssh-copy-id –i ~/.ssh/id_rsa IP(đia chỉ IP của VPS)

  

Với việc copy này thì đoạn mã SSH Key vừa tạo trên máy linux của bạn sẽ được chuyển vào VPS tại thư mục   /root/.ssh/authorized_keys

c. Đăng nhập SSH từ máy linux tới VPS

Sau khi copy xong các bạn thực hiện ssh tới VPS theo lệnh sau.

# ssh -i .ssh/id_rsa IP(địa chỉ IP của VPS) 

thông báo sau sẽ hiện ra.

2. Nếu bạn sử dụng Windows

a. Cách tạo SSH KEY

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

Tải xong bạn mở ra, bạn chọn các tùy chọn như trong ảnh dưới rồi ấn Generate.

Chú ý:
  • Trong lúc tạo, bạn hãy rê chuột vòng vòng màn hình cho đến khi nó tạo xong.
  • Sau khi tạo xong, bạn sẽ thấy nó hiện ra thế này.

 

Bây giờ hãy đặt passphrase cho nó bằng cách điền passphrase ở trên (không cần điền vào mục này cũng được).

Sau đó ấn Save Private Key và lưu nó trên một nơi thật an toàn, tốt nhất nên đưa 1 bản lên Google Drive nếu bạn có sử dụng.

Lưu ý:
  • Các bạn lưu ý khi lưu file ssh key đuôi file sẽ là .ppk và hãy lưu giữ nó cẩn thận vì nếu mất file này sẽ không thể kết nối đến VPS qua SSH được nữa.
  • Bạn không nên đưa file này cho bất kỳ ai tránh trường hợp người khác có thể login vào VPS của bạn khi họ có file này

 

Chú Ý:
  • Public key bắt đầu bằng từ khóa ssh-rsa-XXXXXX. Đây sẽ là cái đoạn mà bạn sẽ copy bỏ vào server để đối chiếu khi login bằng SSH KEY 

b. Cách thêm SSH Key vào trong VPS

Bây giờ hãy đăng nhập vào VPS với user mà bạn cần thêm key (thường thì là root, nhưng nếu VPS bạn có nhiều user thì sẽ cần thêm key cho tất cả user đó).

Sau đó 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

Sau đó mở file authorized_keys trong thư mục .ssh ở thư mục gốc của user và copy toàn bộ ký tự của public key vào.

c. Cách sử dụng SSH KEY để login vào VPS

Để kiểm tra xem nó đã hoạt động chưa, hãy đăng nhập lại vào SSH với tài khoản vừa thêm SSH Key. Nếu bạn đăng nhập bằng Linux thì nó sẽ tự hỏi passphrase của bạn, còn nếu bạn đăng nhập ở Windows thông qua các phần mềm khác như PuTTY thì khi đăng nhập, bạn phải trỏ file private key vào để nó chứng thực.

 

Hãy chọn đường dẫn của file SSH Key vừa mới tạo ra ở trên để xác thực khi login vào VPS

Để đảm bảo không có thể đăng nhập vào VPS của bạn bằng mật khẩu root và user nữa bạn cần vào file sshd_config

#   vi /etc/ssh/sshd_config

     Tìm dòng -> PasswordAuthentication yes 

     Sau đó sửa yes -> no

     Hãy lưu lại và restart sshd

# systemctl restart sshd 

Với việc này bạn đã vô hiệu hóa xác thực passwd qua SSH và bạn chỉ có thể đăng nhập bằng Private key mà bạn vừa tạo.

Lưu Ý:
  • Với việc sử dụng SSH KEY và vô hiệu hóa xác thực passwd khi đăng nhập qua SSH thì việc bảo mật file SSH_KEY là rất quan trọng và các bạn phải luôn mang theo file này nếu muốn sử dụng SSH trên một máy tính khác, các bạn có thể lưu file này trên Google Drive hoặc trên một công cụ lưu trữ nào khác để đăng nhập VPS trên bất kỳ máy tính nào.

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

 

       
      Attachments Attachments
      There are no attachments for this article.
      Comments Comments
      There are no comments for this article. Be the first to post a comment.
      Related Articles RSS Feed
      Hướng dẫn cài đặt SSL với Let’s Encrypt trên VPS/Server sử dụng DirectAdmin
      Viewed 9863 times since Mon, Sep 19, 2016
      Hướng dẫn tạo backup trên directadmin _Phần 2
      Viewed 1868 times since Fri, Jan 2, 2015
      Hướng dẫn cài đặt Zabbix Agent trên Windows
      Viewed 19918 times since Thu, Aug 11, 2016
      Hướng dẫn kết nối VPN trên Windows 7
      Viewed 21311 times since Thu, Jan 22, 2015
      Hướng dẫn cài đặt SSL với Let’s Encrypt trên VPS/Server sử dụng Apache
      Viewed 4527 times since Thu, Sep 1, 2016
      Hướng dẫn remove IP blacklist Directadmin
      Viewed 3609 times since Wed, Aug 5, 2015
      Cài đặt Red5 & Java trên CentOS
      Viewed 3320 times since Fri, Dec 25, 2015
      Hướng dẫn đọc hiểu lệnh TOP trên linux
      Viewed 3152 times since Tue, Jun 23, 2015
      Hướng dẫn kiểm tra tốc độc mạng với Iperf
      Viewed 23045 times since Wed, Aug 24, 2016
      Hướng dẫn kiểm tra tốc độ Internet với Speedtest-cli
      Viewed 1612 times since Mon, Aug 29, 2016