CodeGym /Các khóa học /Docker SELF /Cấu hình SSH, chẩn đoán mạng với `ping`, `netstat`, `dig`...

Cấu hình SSH, chẩn đoán mạng với `ping`, `netstat`, `dig`

Docker SELF
Mức độ , Bài học
Có sẵn

Cấu hình SSH, chẩn đoán mạng với ping, netstat, dig

1. Cài đặt SSH-server

Chào mừng đến với buổi thực hành về các chức năng mạng trên Linux. Hôm nay tụi mình sẽ thử thách kiến thức của mình! Bạn sẽ học cách cài đặt SSH-server, kết nối với nó bằng client, chuẩn đoán mạng bằng các lệnh phổ biến nhất và kiểm tra khả năng truy cập các cổng. Hãy cảm nhận như một kỹ sư mạng thực thụ!

SSH (Secure Shell) — là công cụ dùng để truy cập từ xa một cách an toàn vào máy chủ. Nó cho phép bạn kết nối với máy chủ, quản lý nó như thể bạn đang ngồi trước máy chủ, và thậm chí còn chuyển tệp được nữa.

Bước 1: Cài đặt SSH-server

Đầu tiên, chúng ta sẽ cài đặt SSH-server. Nếu bạn dùng Ubuntu hoặc Debian, hãy thực hiện lệnh sau:

sudo apt update
sudo apt install openssh-server -y

Nếu bạn dùng Fedora hoặc CentOS:

sudo yum install -y openssh-server

Sau khi cài đặt, hãy đảm bảo dịch vụ SSH đã được khởi động:

sudo systemctl start ssh
sudo systemctl enable ssh  # Để SSH tự động khởi động khi hệ thống khởi động
sudo systemctl status ssh  # Kiểm tra trạng thái của service

Nếu mọi thứ chạy ổn, bạn sẽ thấy dịch vụ đang hoạt động.

Bước 2: Cấu hình SSH-server

Tệp cấu hình của SSH-server nằm ở đường dẫn sau:

sudo nano /etc/ssh/sshd_config

Một số tham số hữu ích:

  • PermitRootLogin no — không cho phép đăng nhập dưới user root.
  • PasswordAuthentication yes — bật xác thực bằng mật khẩu.
  • PubkeyAuthentication yes — bật xác thực bằng khóa công khai.

Sau khi thay đổi cấu hình, hãy khởi động lại SSH:

sudo systemctl restart ssh

Bây giờ máy chủ đã sẵn sàng để nhận kết nối.

Bước 3: Kết nối với máy chủ thông qua SSH

Từ một máy khác (hoặc từ chính máy bạn qua localhost) thử kết nối bằng lệnh sau:

ssh your_username@your_server_ip

Nếu bạn làm việc trên máy cục bộ, thay your_server_ip bằng 127.0.0.1. Nhập mật khẩu của user của bạn, và bạn sẽ được đưa vào hệ thống qua terminal.


2. Cài đặt xác thực bằng khóa

Xác thực bằng mật khẩu thì tiện, nhưng về mặt bảo mật, cách tốt hơn là sử dụng SSH-key.

Bước 1: Tạo SSH-key

Trên máy client, chạy lệnh này:

ssh-keygen

Sẽ có yêu cầu bạn chọn nơi lưu khóa. Mặc định nó sẽ được lưu trong thư mục ~/.ssh/. Chỉ cần nhấn Enter.

Bước 2: Copy khóa lên server

Copy khóa công khai lên server:

ssh-copy-id your_username@your_server_ip

Bây giờ bạn có thể kết nối mà không cần nhập mật khẩu:

ssh your_username@your_server_ip

Nếu mọi thứ được cài đặt đúng, chúc mừng! Giờ thì server SSH của bạn được bảo vệ bằng xác thực SSH-key.


3. Chẩn đoán mạng bằng cách sử dụng ping

Chúng ta đã quen thuộc với lệnh này. Hãy nhanh chóng kiểm tra khả năng kết nối với máy chủ SSH của chúng ta nhé.

ping -c 4 your_server_ip

Bạn nên thấy được phản hồi từ phía máy chủ. Nếu không có phản hồi nào, hãy kiểm tra xem máy chủ đã chạy chưa và đã cấu hình đúng chưa.


4. Kiểm tra DNS bằng nslookupdig

Nếu server của bạn có tên miền, bạn có thể kiểm tra hoạt động của nó qua DNS. Ví dụ:

Lệnh nslookup:

nslookup your-domain.com

Bạn sẽ thấy IP tương ứng với tên miền của bạn.

Lệnh dig:

Bây giờ thử lấy toàn bộ thông tin:

dig your-domain.com

Bạn sẽ thấy rất nhiều dữ liệu, nhưng điều chúng ta cần là dòng ANSWER SECTION, nơi có địa chỉ IP.


5. Phân tích kết nối mạng với netstatss

Máy chủ SSH mặc định nghe ở cổng 22. Kiểm tra điều này bằng netstat:

sudo netstat -tln | grep 22

Hoặc sử dụng ss, một công cụ hiện đại hơn:

sudo ss -tln | grep 22

Nếu bạn thấy cổng 22 ở trạng thái "LISTEN" (chờ kết nối), thì máy chủ đã sẵn sàng chấp nhận kết nối từ client.


6. Kiểm tra khả năng truy cập cổng bằng nc

Lệnh netcat (hoặc nc) cho phép kiểm tra khả năng truy cập của các cổng. Hãy thử kết nối tới máy chủ SSH của chúng ta:

nc -zv your_server_ip 22

Bạn sẽ nhìn thấy thông báo như "Connection to your_server_ip 22 port [tcp/ssh] succeeded!".

Nếu kết nối không thành công, điều này có thể do cổng bị chặn bởi tường lửa hoặc máy chủ không lắng nghe trên cổng đã chỉ định.


7. Bài tập thực hành

Giờ thì hãy cùng gộp mọi thứ lại trong một kịch bản thực hành nhé. Bạn sẽ cần làm những điều sau:

  1. Bật SSH trên máy của bạn hoặc trong môi trường ảo, ví dụ như WSL2.
  2. Tạo key và cấu hình authorization bằng key (cấm sử dụng mật khẩu).
  3. Kết nối tới máy chủ thông qua SSH.
  4. Sử dụng ping để kiểm tra khả năng truy cập của máy chủ.
  5. Sử dụng nslookupdig để kiểm tra việc phân giải địa chỉ IP (nếu bạn có tên miền).
  6. Kiểm tra cổng 22 trên máy chủ bằng netstat, ssnc.

Bây giờ bạn đã sẵn sàng không chỉ cấu hình truy cập từ xa mà còn có thể khắc phục sự cố mạng, chẩn đoán máy chủ và bảo vệ nó như một pro thực thụ! Bạn đang tiến gần hơn đến việc được gọi là một Linux-guru.

1
Опрос
Làm việc với mạng trong Linux,  4 уровень,  5 лекция
недоступен
Làm việc với mạng trong Linux
Làm việc với mạng trong Linux
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION