Cấu hình chứng thực SSH trong Linux

1042
06-09-2022
Cấu hình chứng thực SSH trong Linux

SSH (Secure Shell) là một giao thức mạng dùng để thiết lập kết nối và quản trị mạng một cách bảo mật hoạt động trong môi trường Unix (tương tự như remote desktop của windows). SSH hoạt động ở lớp TCP/IP. Các công cụ SSH (như là OpenSSH, …) cung cấp cho người dùng cách thức để thiết lập kết nối mạng được mã hoá để tạo một kênh kết nối riêng tư.

Cấu hình chứng thực SSH trong Linux - Ảnh 1.

SSH là một chương trình tương tác giữa máy chủ và máy khách có sử dụng cơ chế mã hoá đủ mạnh nhằm ngăn chặn các hiện tượng đánh cắp thông tin trên đường truyền (Sniffer).

 

Một số chương trình remote login trước đây không sử dụng cơ chế mã hóa như : telnet, rlogin. Rất dể bị đánh cắp thông tin ( chụp lại toàn bộ nội dung của phiên làm việc bằng cách sử dụng một số công cụ đơn giải như WireShark chẳng hạn). Vì thế sử dụng SSH là biện pháp bảo mật dữ liệu hiệu quả trên đường truyền từ hệ thống này đến hệ thống khác.

- Cơ chế làm việc của SSH thông qua 3 bước đơn giản:

 

1 = > Định danh host – xác định host (ip) của hệ thống tham gia phiên làm việc SSH.

 

2 = >Mã hoá – thiết lập kênh làm việc mã hoá.

 

3 => Chứng thực – xác thực người sử dụng có quyền đăng nhập hệ thống.

- Kiểm tra xem trên hệ thống có cài đặt ssh hay chưa, nếu chưa ta có thể dùng lệnh sau để cài đặt trực tiếp từ internet

MÃ: CHỌN TẤT CẢ
# rpm -qa | grep ssh                  // lệnh kiểm tra

 

# yum  install  ssh  -y                          // lệnh cài từ internet

+ moduli : Chứa một nhóm Diffie-Hellman được sử dụng cho việc trao đổi khóa Diffie-Hellman, nó thực sự quan trọng để xây dựng một lớp bảo mật ở tầng vận chuyển dữ liệu.Khi các khóa được trao đổi với nhau bắt đấu ở một phiên kết nối SSH, một share secret value được tạo ra và không thể xác định bởi một trong hai bên kết nối, giá trị này sau đó sẽ được dùng để cung cấp chứng thực cho host.

 

+ ssh_config: file cấu hình mặc định cho SSH client của hệ thống.

 

+ sshd_config: File cấu hình chính cho ssh deamon.

 

+ ssh_host_dsa_key: DSA private key được sử dụng với ssh deamon.

 

+ ssh_host_dsa_key.pub: DSA public key được sử dụng bởi ssh deamon.

 

+ ssh_host_key: RSA private key được sử dụng bởi ssh deamon cho phiên bản 1 của giao thức SSH.

 

+ ssh_host_key.pub: RSA public key được sử dụng bởi ssh deamon cho phiên bản 1 của giao thức SSH.

 

+ ssh_host_rsa_key: RSA private key được sử dụng bởi ssh deamon cho phiên bản 2 của giao thức SSH.

 

+ ssh_host_rsa_key.pub: RSA public key được sử dụng bởi ssh deamon cho phiên bản 2 của giao thức SSH.

I. Cấu hình sshd chứng thực bằng mật khẩu ( Password Authentication )

MÃ: CHỌN TẤT CẢ
#vi /etc/ssh/sshd_config

tìm và thay đổi những nội dung các dòng sau như bên dưới :

 

PermitRootLogin yes

 

PermitEmptyPasswords no

 

PasswordAuthentication yes
Cấu hình chứng thực SSH trong Linux - Ảnh 2.

Nếu bạn muốn truy cập ssh từ một số user chỉ định, bạn thêm vào dòng sau

 

AllowUsers user1 user2 user3 user4 user5

- Khởi động lại dịch vụ SSH

MÃ: CHỌN TẤT CẢ
# service sshd  restart

- Trên windows ta có thể dùng putty ( download tại đây http://the.earth.li/~sgtatham/putty/lat … /putty.exe ) để kết nối ssh đến hệ thống linux để login và điều khiển chúng. SSH sử dụng port 22 cho các kết nối từ xa

Trong bài demo này tôi sử dụng host có ip là : 192.168.1.100. Nhập ip (host ) & port như hình bên dưới , sau đó click chọn open

 

Cấu hình chứng thực SSH trong Linux - Ảnh 3.

 

Sau khi chọn open sẽ xuất hiện 1 hộp thoại thông báo đăng nhập, lúc này bạn nhập tên user & pass cần login : ở đây tôi nhập user/pass của root
Cấu hình chứng thực SSH trong Linux - Ảnh 4.

 

II . Cấu hình sshd chứng thực bằng khóa ( Keys Authentication )

Khác với chứng thực bằng mật khẩu, ở đây ta sẽ cấu hình SSH Server cho phép chứng thực người dùng thông qua khóa

 

Ta sẽ tạo ra cặp khóa Public key & Private key bằng thuật toán RSA hoặc DSA.

 

+ Public key : Sử dụng cho Server

 

+ Private key : Sử dụng cho Client

 

Thuật toán này hổ trợ cặp khóa tạo ra cho độ dài max là 2048 bit

 

Muốn tạo khóa login cho user nào thì ta login ssh bằng user đó, sau khi logion thành công ta chạy lệnh sau để tạo khóa
MÃ: CHỌN TẤT CẢ
# ssh-keygen  -t  rsa  -b 1024       // tạo khóa bằng rsa có độ dài 1024 bit

Hoặc

MÃ: CHỌN TẤT CẢ
# ssh-keygen  -t  dsa  -b 1024       // tạo khóa bằng dsa có độ dài 1024 bit
Cấu hình chứng thực SSH trong Linux - Ảnh 5.

Xem hình bên trên ta mới vừa thực hiện xong việc tạo khóa cho user root

Mặt định thì cặp key tạo ra được lưu trong /home/diruser/.ssh của từng user cụ thể ở trong hướng dẫn này là :

 

/root/.ssh/id_rsa ==> Private Key

 

/root/.ssh/id_rsa.pub ==> Public Key

Bước tiếp theo ta sẽ thực hiện một số lệnh cần thiết sau để đổi tên file cho hợp lệ

 

+ Đối với id_rsa.pub đổi tên thành authorized_keys và chmod về 600

 

Cấu hình chứng thực SSH trong Linux - Ảnh 6.

 

+ Đối với key id_rsa

MÃ: CHỌN TẤT CẢ
#  vi /root/.ssh/id_rsa
Cấu hình chứng thực SSH trong Linux - Ảnh 7.

Copy toàn bộ nộ dung file này (file id_rsa ) và lưu lại trên máy sử dụng windows với tên là Private Key

 

Sau đó chuyển qua người dùng root (nếu đang login với 1 user khác root ) chỉnh sửa lại file sshd_config với nội dung thay đổi như sau :

 

Cấu hình chứng thực SSH trong Linux - Ảnh 8.

 

Khởi động lại dịch vụ sshd

MÃ: CHỌN TẤT CẢ
# service sshd restart

Trên máy sử dụng windows ta mở puttygen ( dowload tại đây http://the.earth.li/~sgtatham/putty/lat … ttygen.exe ) và làm theo hướng dẫn để load file Private Key

 

Cấu hình chứng thực SSH trong Linux - Ảnh 9.

 

Sau đó chọn đường dẫn chỉ đến nơi lưu file Private Key đã thực hiện ở trên. Nhập pass nếu có ( pass này được thiết lập trong bước tạo key bằng lệnh # ssh-keygen -t rsa )

Cấu hình chứng thực SSH trong Linux - Ảnh 10.

Tiếp theo chọn Save private key và lưu file với tên keyssh.ppk

 

Mở putty >> ở phần secsion ta nhập ip của ssh server >> Chuyển xuống phần SSH >>> Auth >>>> chọn browser chỉ đến nơi lưu cất file keyssh.ppk >> Chọn open

 

Cấu hình chứng thực SSH trong Linux - Ảnh 11.

 

Quan sát ta thấy quá trình login vào ssh server chứng thực bằng key thành công

 Tham khảo: https://id.vinastar.net

SHARE