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 userroot
.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 nslookup
và dig
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 netstat
và ss
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:
- Bật SSH trên máy của bạn hoặc trong môi trường ảo, ví dụ như WSL2.
- Tạo key và cấu hình authorization bằng key (cấm sử dụng mật khẩu).
- Kết nối tới máy chủ thông qua SSH.
- Sử dụng
ping
để kiểm tra khả năng truy cập của máy chủ. - Sử dụng
nslookup
vàdig
để kiểm tra việc phân giải địa chỉ IP (nếu bạn có tên miền). - Kiểm tra cổng 22 trên máy chủ bằng
netstat
,ss
vànc
.
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.
GO TO FULL VERSION