Quay lại

Bài 4: Cách tạo SSH KEY trên AWS EC2 Linux Chuyên mục Devops    2023-06-10    1.4k Lượt xem    91 Lượt thích    comment-3 Created with Sketch Beta. 0 Bình luận

Bài 4: Cách tạo SSH KEY trên AWS EC2 Linux

Video


Mặc định mỗi VPS mà bạn đăng nhập sẽ cần phải sử dụng tài khoản và mật khẩu mà các nhà cung cấp đã gửi cho bạn lúc thuê Cloud Server. Tuy nhiên, việc sử dụng mật khẩu lại mang đến khá nhiều rủi ro, điển hình là bạn sẽ mất Cloud Server của mình một cách hoàn toàn nếu như để lộ mật khẩu. 

SSH Key được xem là giải pháp hiện đại có khả năng thay thế mật khẩu và đảm bảo mang lại cho người dùng một phương thức đăng nhập vào VPS an toàn

SSH Key là gì? 

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

SSH Key là một phương thức chứng thực người dùng truy cập bằng cách đối chiếu giữa Public Key (khóa công khai) và Private Key (khóa cá nhân). Public Key và Private Key luôn có một mối liên hệ chặt chẽ với nhau để chúng có thể nhận diện được nhau. Khi tạo SSH Key, bạn sẽ luôn có luôn hai loại khoá nói trên.

  • Public Key có thể được đặt tại bất kỳ Server nào bao gồm cả Server của bạn.
  • Private Key sẽ được lưu tại máy tính.

Khi đăng nhập vào Server, bạn cần gửi yêu cầu đăng nhập đi kèm với Private Key để gửi tín hiệu đến Server đồng thời Server sẽ tiến hành xác nhận Private Key của bạn có khớp với Public Key trên Server hay là không. Khi cả hai khoá này đã khớp nhau thì hệ thống sẽ tự động mở khoá mà không cần đến mật khẩu.

1.ssh-keygen là gì?

Ssh-keygen là công cụ tạo cặp khóa xác thực mới cho SSH. Các cặp khóa như vậy được sử dụng để tự động đăng nhập, đăng nhập một lần và để xác thực máy chủ.

2.Khóa SSH và Public Key Authentication

Giao thức SSH sử dụng mật mã khóa công khai để xác thực máy chủ và người dùng. Các khóa xác thực, được gọi là khóa SSH, được tạo bằng chương trình keygen.

SSH đã giới thiệu xác thực khóa công khai như một giải pháp thay thế an toàn hơn cho xác thực .rhosts cũ hơn. Nó cải thiện tính bảo mật bằng cách tránh yêu cầu lưu trữ mật khẩu trong tệp và loại bỏ khả năng máy chủ bị xâm nhập đánh cắp mật khẩu của người dùng.

Tuy nhiên, khóa SSH là thông tin đăng nhập xác thực giống như mật khẩu. Vì vậy, chúng phải được quản lý tương tự như tên người dùng và mật khẩu. 

3.Tạo cặp khóa SSH để xác thực người dùng

Để genarate ra ssh-key

ssh-keygen -t rsa

Sau khi chạy lệnh trên thì 1 list cmd sẽ hiện ra các bạn chỉ việc ấn enter , không nhập gì cả nhé

Enter file in which to save the key (/home/www-user/.ssh/id_rsa):
Created directory '/home/www-user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/www-user/.ssh/id_rsa.
Your public key has been saved in /home/www-user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:4Lxy0lnLPsC1g5fCj+unPrn1b7KY3XVEEYLCECGmUr4 www-user@ip-172-31-27-42.ap-southeast-1.compute.internal
The key's randomart image is:
+---[RSA 2048]----+
|   . o +=   .. o.|
|  o o .  o .  . .|
| . o  .   .     .|
|  . .o ..      . |
|   E oooSo      .|
|     .*==.     . |
|    o =B+.    . .|
|     ++o+=.... . |
|     o**+.+=o    |
+----[SHA256]-----+

Sau khi hoàn thành bước này thì các bạn thấy public key của chúng ta đã được lưu ở thư mục /home/your-user/.ssh/

cd /home/your-user/.ssh/

Sau khi vào thư mục trên bạn sẽ thấy 2 file 1 là private key (id_rsa) và public key (id_rsa.pub)

Tiếp theo là các bạn đổi tên public key thành Authorized_keys bằng lệnh sau:

chmod 600 id_rsa.pub
cp id_rsa.pub authorized_keys

Sau đó thì change permission cho file này:

chmod 600 authozized_keys

4.Cách ssh vào server bằng private key

Để một server client có thể ssh vào được web server thì bên máy chủ web server cần phải cung cấp private key cho server client

để cho 2 server này có thể bắt tay với nhau được.

Các bạn cần quay lại web server và login in vào user mà các bạn muốn cho access và sau đó thì cd vào thư mục chứa ssh key /home/your-user/.ssh/  copy text đã được mã hoá trong private key (id_rsa)

vi id_rsa

sau đó thì copy đoạn mã hoá sau :

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAuHBaw8MXob+XPcD6Iqmg30GlgyO5VmSXwcIIbz1VR9No/HKD
4ZCKM4yRL5Pkqxd1ZbRZ/V0xAtpUkLmokhm1xdlZ4Qn+a/G7CNYALLDp5zectjkL
idNZpmnrrgIPTomUQqu80tPSNPvvYcEn26jE1epfGam36fOZ6zkR4pj/XflnT5qD
yExJ+0wv3+wnTvVulNq/38c1Z2f44DUIN4XetWBIzloBsTXwvo8NBdVyhLnfv+C1
Z4Jk3qWspo0JmGZM/uvO8HZK78fEtftg45eZNznflVwzd6zm3d4DsWpd1pT4ezx/
dfZQ3F9DBeExfYGJPDnncutgwZ9V1zNq3tS8uQIDAQABAoIBAG1z36lE4YVPmYVA
PDDN0XYsEvjb/mTSlWyapT6+exmA0FDf9HurtxgYVyCQ96bA6R5OBQligG9c+cpZ
IzxwnXqoHbp6n82XSpNXzAq5glWAnzNUbxB/qDglq4M8HbFR2/YkzI2gvqJK0CiG
5Axq/0SjLYShP09LDRCWcZKzkPhGw5k7ZQyqdXVM3dZ2yPNqeAJ3ULBHcJm63OSb
IMWmROkiOXrSvMp5q3I6b+F3DF4OMP0vizeGD0JQyhwNaOoLV8Q4kjLJJ66xI/O7
iX++I72kweqmhsc9+QzHshegD33j5XdaWPZkBHOKFxCgFSIgAx4FKZeF8RvO+Zpn
ca0XmTECgYEA3rVTzn9CyJf3oFtOCJyvMCRvJr0PmUkgx0SAdD7RmDhaJbeu1zSH
4HRG9CmYwHpfK3vdy8Eovu6Mzr4hyjQxXKr+vF16KDZhR74KnWQ1erYxJSVdHsOl
NoWbKtdjn2+Z9BUUWBb5GSKWocuD//01Lm93CASzATfd2bVb9QgiLnMCgYEA1AKF
RyY7phe5OSmKWbZVOqQ9qLmpkg2ChdbXRV+URLOweHe3kdJW3+XFLICrttM67lNv
1Z6MXdHD87P5Xe/h1N6FeiGxr7f/3Ynp4jPLTuYVL1f0bzY5PRwKgn73IuNxeh9V
Cw/qbRkhvMbjpUhyPAHrFIhDUnDfwRse6uUyUSMCgYEAnN/1jLuv+0SwtVAbg417
CdpgQVVjq4ILiNID+d5WHXd0aKUej5D9NWoyoMK8SrjoWOUDswb5AKVgojDj9F8X
dkMs9NqTtce4dqSzLXLtCOdVbukG0yjVM7ahOmhGUIR4WaqPjg2AoefvW0DUVnmy
AGeb3RYSUYVczIInqE52ZWkCgYB3lkBlZLyKsKELDFJ8zit/G3uoO6nZt4MjSY8+
E27H3e+x1B2YxGO6gZnZw26Yfsej/S58+aTFmvgD9EW55gClmSsDPBRFQO2zogJq
VLrec0wJ23wGaziYLsQC3ek7Jb4xm5DV35FlHqL4H9vytE2zaYWXnFEVJJQiEdE7
wDLErwKBgGCDB/ah6Pu0JnfuncZuwY+DNgB3v1Gidtr8L9xSLi/od4cJXmwjm1Qb
gIsyKYUNs88qelHIutmyJII76gzDaAmrgTxQXx3sfHyE261k5HlIFgr3iotslAQz
/jIgpJJDZodqQpC6rxOhfhyQvk4C8IKPmMaH2Ke7XH4h22tiI/qH
-----END RSA PRIVATE KEY-----

Sau khi copy xong bạn quay lại server client và tạo 1 mới 1 file với đuôi là .pem sau đó copy đoạn text bên trên vào file .pem này

sau đó chỉnh lại permission 1 chút nữa :

chmod 400 name_pem_file.pem

Ok vậy là đến bước cuối cùng rồi thử ssh vào server web  nào các bạn chạy cmd dứoi đây nhé:

ssh -i name_pem_file.pem your-user@your_public_id

 Ok vậy là xong rồi , chúc các bạn thành công , hãy cùng xem video của mình bên dưới để hiểu rõ hơn nhé !

 

 
 
 
 

Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough

Bài viết liên quan

Learning English Everyday