Cách quản lý từ xa máy chủ Linux bằng SSH

Tác giả Network Engineer, T.M.Một 11, 2021, 01:07:58 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Cách quản lý từ xa máy chủ Linux bằng SSH


SSH là viết tắt của Secure Shell và nó là một giao thức được sử dụng để truy cập an toàn vào máy chủ từ xa trên mạng cục bộ hoặc internet để cấu hình, quản lý, giám sát và khắc phục sự cố, v.v.

Trong bài viết này, chúng ta sẽ thảo luận về cách bạn có thể quản lý một máy chủ Linux từ xa với sự trợ giúp của SSH.

Mình đã thực thi tất cả các lệnh trên máy Debian 10 của mình.

Bạn cần có những thứ sau.

  • Hai máy Debian 10 có quyền root.
  • Địa chỉ IP, tên người dùng và mật khẩu của máy từ xa.
  • Kết nối Internet trên cả hai máy.

1. Cách cài đặt máy chủ OpenSSH?

Khi bạn đã thiết lập một máy Linux mới trong cơ sở hạ tầng của mình, điều quan trọng là phải chuẩn bị cho nó sẵn sàng để truy cập từ xa. Do đó, bắt buộc phải cài đặt máy chủ OpenSSH từ xa hoặc máy mà bạn đang cố gắng truy cập.

Trước khi bạn cài đặt máy chủ OpenSSH, hãy chạy lệnh sau để cập nhật kho lưu trữ.

Mã nguồn [Chọn]
$ apt-get update
Chờ cho hoạt động hoàn tất.

Sau khi cập nhật kho lưu trữ, hãy thực thi lệnh sau với quyền root để cài đặt máy chủ OpenSSH.

Mã nguồn [Chọn]
$ apt-get install openssh-server
Khi bạn được yêu cầu xác nhận, hãy nhấn 'Y' từ bàn phím và đợi quá trình cài đặt hoàn tất. Quá trình này có thể mất vài phút để hoàn thành.

2. Cấu hình cài đặt máy chủ OpenSSH

Khi OpenSSH đã được cài đặt ở phía máy chủ, mình có thể chỉnh sửa cài đặt cấu hình cơ bản của nó. Mở cửa sổ dòng lệnh Terminal và thực hiện lệnh sau với quyền root.

Mã nguồn [Chọn]
$ nano /etc/ssh/sshd_config
Sau đây là kết quả đầu ra của mẫu.


Bạn có thể thay đổi các tham số khác nhau trong tập tin trên.

Theo mặc định, SSH lắng nghe trên cổng 22. Bạn có thể thay đổi sang cổng mong muốn của mình. Bạn cũng có thể thay đổi phiên tối đa (MaxSessions) có thể được thiết lập đồng thời với máy chủ, 10 là giá trị mặc định.

3. Thay đổi cổng máy chủ OpenSSH

Như chúng ta đã thảo luận, máy chủ lắng nghe trên cổng 22 theo mặc định. Nếu bạn muốn cấu hình máy chủ của mình để lắng nghe một cổng cụ thể, đây là quy trình.

Mở cửa sổ dòng lệnh Terminal và thực hiện lệnh sau với quyền root.

Mã nguồn [Chọn]
$ nano /etc/ssh/sshd_config
Một tập tin sẽ được mở ra như trong ảnh chụp màn hình ở trên.

Xác định vị trí Port 22 hoặc # Port 22 và nhập số cổng mong muốn của bạn mà không có dấu #

Bạn nên sử dụng số cổng trong khoảng 1024 - 65535 vì cổng 0-1023 được dành riêng cho các dịch vụ cụ thể.

Giả sử gán 2222, hãy viết như sau vào tập tin cấu hình SSH.

Mã nguồn [Chọn]
Port 2222
Dưới đây là kết quả đầu ra mẫu sau khi thay đổi số cổng.


Khởi động lại dịch vụ SSH bằng cách thực hiện lệnh sau trên cửa sổ dòng lệnh Terminal.

Mã nguồn [Chọn]
$ service ssh restart
4. Bật đăng nhập root trên máy chủ OpenSSH

Theo mặc định, bạn không thể đăng nhập trực tiếp vào máy chủ SSH với quyền root vì lý do bảo mật. Nếu bạn muốn kích hoạt đăng nhập này, bạn cần thực hiện các thay đổi đối với tập tin cấu hình máy chủ SSH.

Mở cửa sổ dòng lệnh Terminal và chạy lệnh sau với quyền root để mở tập tin cấu hình.

Mã nguồn [Chọn]
$ nano /etc/ssh/sshd_config
Thêm dòng sau vào phần xác thực,

Mã nguồn [Chọn]
PermitRootLogin yes
Dưới đây là kết quả mẫu sau khi thực hiện các thay đổi trong tập tin cấu hình.


Khởi động lại dịch vụ SSH bằng cách chạy lệnh sau trên cửa sổ dòng lệnh Terminal với quyền root.

Mã nguồn [Chọn]
$ service ssh restart
5. Giảm số lần đăng nhập không thành công vào máy chủ SSH

Theo mặc định, bạn có thể thực hiện 6 lần đăng nhập vào máy chủ SSH. Khi giá trị đạt đến một nửa của 6, các lỗi đăng nhập bổ sung sẽ được ghi lại. Nếu bạn muốn thay đổi giá trị này, bạn phải điều chỉnh tham số MaxAuthTries trong tập tin cấu hình máy chủ SSH.

Mở cửa sổ dòng lệnh Terminal và thực hiện lệnh sau với quyền root.

Thêm dòng sau (giả sử bạn muốn đặt giá trị này thành 1) trong phần xác thực.

Mã nguồn [Chọn]
MaxAuthTries 1
Dưới đây là kết xuất mẫu sau khi thực hiện các thay đổi trong tập tin.


Khởi động lại dịch vụ SSH bằng cách chạy lệnh sau trên cửa sổ dòng lệnh Terminal với quyền root.

Mã nguồn [Chọn]
$ service ssh restart
Dưới đây là đầu ra mẫu.


Sau một lần đăng nhập không thành công, bạn sẽ nhận được quá nhiều thông báo xác thực không thành công như được hiển thị trong ảnh chụp màn hình sau.


6. Buộc máy chủ OpenSSH lắng nghe đến các IP cụ thể

Theo mặc định, máy chủ OpenSSH lắng nghe tất cả các địa chỉ IP được gán cho máy chủ SSH của bạn. Tuy nhiên, bằng cách thực hiện các thay đổi trong tập tin cấu hình, bạn có thể buộc máy chủ SSH của mình lắng nghe các địa chỉ IP cụ thể. Đây là cách làm.

Giả sử mình có hai địa chỉ IP (10.1.1.2 và 10.1.1.3) được gán cho giao diện mạng của mình như thể hiện trong ảnh chụp màn hình sau. Mình muốn buộc máy chủ OpenSSH của mình lắng nghe đến địa chỉ IP 10.1.1.2.


Mở cửa sổ dòng lệnh Terminal và chạy lệnh sau với quyền root để mở tập tin cấu hình SSH.

Mã nguồn [Chọn]
$ nano /etc/ssh/sshd_config
Thêm dòng sau vào đầu tập tin,

Mã nguồn [Chọn]
ListenAddress 10.1.1.2
Dưới đây là kết quả mẫu sau khi thực hiện các thay đổi trong tập tin cấu hình.


Khởi động lại dịch vụ SSH bằng cách thực hiện lệnh sau trên cửa sổ dòng lệnh Terminal.

Mã nguồn [Chọn]
$ service ssh restart
7. Cho phép hoặc từ chối người dùng hoặc nhóm cụ thể đăng nhập vào máy chủ SSH

Theo mặc định, mọi người dùng có thể đăng nhập từ xa vào máy chủ OpenSSH. Tuy nhiên, bạn có thể cho phép hoặc từ chối người dùng hoặc nhóm cụ thể đăng nhập vào máy chủ SSH.

Mở cửa sổ dòng lệnh Terminal và chạy lệnh sau với quyền root để mở tập tin cấu hình máy chủ SSH.

Mã nguồn [Chọn]
$ nano /etc/ssh/sshd_config
Dưới đây là đầu ra mẫu.


Giả sử bạn muốn chỉ cho phép người dùng 'tony' đăng nhập từ xa vào máy chủ SSH. Không người dùng nào khác có thể đăng nhập vào máy chủ SSH. Nếu bạn có nhiều người dùng, họ phải được phân tách bằng dấu cách.

Thêm dòng sau vào tập tin cấu hình máy chủ OpenSSH.

Mã nguồn [Chọn]
AllowUsers tony
Dưới đây là tập tin cấu hình mẫu sau khi thêm dòng trên


Khởi động lại dịch vụ SSH bằng cách chạy lệnh sau với đặc quyền root trên cửa sổ dòng lệnh Terminal

Mã nguồn [Chọn]
$ service ssh restart
Tương tự, nếu bạn muốn cho phép tất cả người dùng kết nối từ xa với máy chủ SSH nhưng muốn từ chối một hoặc nhiều, hãy thêm các dòng sau trong tập tin cấu hình máy chủ OpenSSH. Những người dùng phải được phân tách bằng lệnh. Giả sử mình chỉ muốn từ chối người dùng 'tony', hãy thêm dòng sau vào tập tin cấu hình máy chủ OpenSSH.

Mã nguồn [Chọn]
DenyUsers tony
Dưới đây là tập tin cấu hình mẫu sau khi thêm dòng trên.


Khởi động lại dịch vụ SSH bằng cách chạy lệnh sau với đặc quyền root trên cửa sổ dòng lệnh Terminal.

Mã nguồn [Chọn]
$ service ssh restart
Tương tự, bạn có thể cho phép và từ chối các nhóm người dùng đăng nhập vào máy chủ OpenSSH bằng cách thêm các dòng sau vào tập tin cấu hình.

Mã nguồn [Chọn]
AllowGroups <tên nhóm>
Hoặc

Mã nguồn [Chọn]
DenyGroups <tên nhóm>
Nếu bạn có nhiều nhóm để cho phép hoặc từ chối, bạn có thể tách chúng bằng dấu cách.

Sự kết hợp của cho phép và từ chối được xử lý theo thứ tự sau.

DenyUsers, AllowUsers, DenyGroups và cuối cùng là AllowGroups

8. Thay đổi thời gian gia hạn đăng nhập

Theo mặc định, bạn có 2 phút để đăng nhập vào máy chủ OpenSSH từ xa sau khi SSH. Nếu bạn không thể đăng nhập vào máy chủ từ xa trong vòng 2 phút, SSH sẽ ngắt kết nối. Đây là cách bạn có thể thay đổi thời gian gia hạn đăng nhập.

Mở cửa sổ dòng lệnh Terminal và chạy lệnh sau với quyền root để mở tập tin cấu hình máy chủ.

Mã nguồn [Chọn]
$ nano /etc/ssh/sshd_config
Dưới đây là đầu ra mẫu.


Tìm dòng sau:

Mã nguồn [Chọn]
#LoginGraceTime 2m
Thay dòng này bằng thời gian gia hạn mong muốn của bạn, chẳng hạn như 1 phút. Dòng hoàn chỉnh phải là:

Mã nguồn [Chọn]
LoginGraceTime 1m
Dưới đây là tập tin cấu hình mẫu sau khi thực hiện thay đổi.


Đóng tập tin và khởi động lại dịch vụ SSH bằng cách đưa ra lệnh sau.

Mã nguồn [Chọn]
$ service ssh restart
9. Cách cài đặt ứng dụng khách OpenSSH

Máy Debian 10 sẽ truy cập vào máy chủ từ xa được gọi là máy khách và chúng ta cần cài đặt 'máy khách OpenSSH' trên đó.

Mở cửa sổ dòng lệnh Terminal và chạy lệnh sau để cập nhật kho lưu trữ.

Mã nguồn [Chọn]
$ apt-get update
Chờ cho hoạt động hoàn tất.

Ngay sau khi kho lưu trữ được cập nhật, hãy thực thi lệnh sau để cài đặt một máy khách OpenSSH

Mã nguồn [Chọn]
$ apt-get install openssh-client
Khi bạn được yêu cầu xác nhận, hãy nhấn Y từ bàn phím. Quá trình cài đặt có thể mất vài phút, do đó, hãy kiên nhẫn.
Thực thi lệnh sau trên cả máy khách và máy chủ để xác nhận rằng dịch vụ SSH đang chạy.


Sau khi mình có OpenSSH chạy trên cả máy khách và máy chủ trên một máy chủ từ xa, mình có thể bắt đầu quản lý từ xa.

10. Kết nối với máy chủ Debian 10 từ xa bằng SSH

Để kết nối với máy Debian 10 từ xa, bạn cần có địa chỉ IP, tên người dùng và mật khẩu.
Sau đây là cú pháp hoàn chỉnh của lệnh nếu máy chủ OpenSSH của bạn đang lắng nghe trên cổng 22 mặc định.

Mã nguồn [Chọn]
$ ssh <user@IPaddress>
Bạn sẽ được nhắc nhập mật khẩu người dùng, cung cấp sự trợ giúp của bàn phím và nhấn Enter.

Giả sử, người dùng là tony và địa chỉ IP của máy từ xa là 10.1.1.2. Chạy lệnh sau trên cửa sổ dòng lệnh Terminal.

Mã nguồn [Chọn]
$ ssh [email protected]
Dưới đây là đầu ra mẫu.


Bây giờ bạn sẽ được kết nối an toàn như trong ảnh chụp màn hình ở trên.

Tuy nhiên, nếu máy chủ SSH của bạn đang nghe trên một số cổng khác (giả sử 2222). Cú pháp hoàn chỉnh của lệnh sẽ như sau.

Mã nguồn [Chọn]
$ ssh -p <port number> user@IP address
Giả sử, người dùng là tony và địa chỉ IP của máy từ xa là 10.1.1.2. Chạy lệnh sau trên cửa sổ dòng lệnh Terminal.

Mã nguồn [Chọn]
$ ssh -p 2222 [email protected]

Đó là hướng dẫn tất cả về quản lý từ xa máy chủ Linux bằng SSH. Mình hy vọng bạn đã thích nó.