Cách cài đặt và sử dụng Telnet trên Ubuntu 24.04 LTS

theanh

Administrator
Nhân viên
Telnet là chương trình mô phỏng thiết bị đầu cuối cho mạng TCP/IP cho phép bạn truy cập máy tính khác trên Internet hoặc mạng cục bộ bằng cách đăng nhập vào hệ thống từ xa. Telnet là giao thức máy khách-máy chủ kết nối với cổng 23 của Giao thức điều khiển truyền. Bạn cũng có thể sử dụng Telnet để kiểm tra các cổng mở trên hệ thống từ xa.

Trong hướng dẫn này, bạn sẽ học cách cài đặt và sử dụng máy chủ và máy khách Telnet trên máy chủ Ubuntu 24.04 LTS. Các bước tương tự cũng sẽ hoạt động đối với các phiên bản Ubuntu cũ hơn như Ubuntu 22.04 và Ubuntu 20.04.

CẢNH BÁO: Telnet là giao thức không được mã hóa và do đó không an toàn. Hướng dẫn này chỉ nhằm mục đích giáo dục và không phải là khuyến nghị sử dụng Máy chủ Telnet trên hệ thống của bạn. Hướng dẫn này sẽ chỉ cho bạn cách cài đặt và sử dụng máy khách và máy chủ Telnet trong trường hợp bạn muốn tìm hiểu thêm về giao thức quản trị máy chủ cổ xưa này hoặc trong trường hợp bạn muốn sử dụng máy khách Telnet để kiểm tra máy chủ thư của mình. Chúng tôi KHÔNG khuyến nghị sử dụng Telnet (Máy chủ) trên các máy chủ hiện nay, chủ yếu là nếu bạn sử dụng qua Internet. Để quản lý máy chủ của bạn qua mạng, hãy sử dụng SSH thay vì Telnet. Sử dụng máy khách Telnet là một việc khác. Ví dụ, một máy khách Telnet là một công cụ hữu ích để kiểm tra máy chủ thư hoặc web của bạn, như được hiển thị bên dưới.

Yêu cầu​

  • Một máy chủ đã cài đặt Ubuntu 24.04.
  • Một người dùng không phải root có quyền sudo.
  • Một địa chỉ IP tĩnh, ví dụ: 192.168.0.100, được cấu hình trên máy chủ của bạn.

Cài đặt máy khách Telnet​

Gói máy chủ Telnet có sẵn trong kho lưu trữ Ubuntu 24.04. Bạn có thể cài đặt bằng cách chỉ cần chạy lệnh sau:
Mã:
sudo apt install telnet -y

Cài đặt Telnet Server​

Chỉ cần có Telnet server nếu bạn muốn cung cấp thông tin đăng nhập Telnet; bỏ qua bước này nếu bạn muốn sử dụng lệnh Telnet để kiểm tra các dịch vụ khác. Gói Telnet server có sẵn trong kho lưu trữ Ubuntu 24.04. Bạn có thể cài đặt nó chỉ bằng cách chạy lệnh sau:
Mã:
sudo apt install telnetd -y
Tiếp theo, mở tệp /etc/inetd.conf bằng trình chỉnh sửa:
Mã:
sudo nano /etc/inetd.conf
Thêm dòng sau vào cuối tệp:
Mã:
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/telnetd
Lưu tệp cấu hình inetd.conf và khởi động lại dịch vụ inetd:
Mã:
sudo systemctl restart inetd
Sau khi cài đặt hoàn tất, bạn có thể kiểm tra trạng thái của dịch vụ Telnet bằng cách sử dụng lệnh sau lệnh:
Mã:
sudo systemctl status inetd
Đầu ra:
Mã:
root@server1:~# sudo systemctl status inetd
? inetd.service - Internet superserver Loaded: loaded (/usr/lib/systemd/system/inetd.service; enabled; preset: enabled) Active: active (running) since Wed 2024-05-29 11:53:38 UTC; 16min ago Docs: man:inetd(8) Main PID: 132955 (inetd) Tasks: 1 (limit: 4557) Memory: 552.0K (peak: 808.0K) CPU: 84ms CGroup: /system.slice/inetd.service ??132955 /usr/sbin/inetd
May 29 11:53:38 server1 systemd[1]: inetd.service: Scheduled restart job, restart counter is at 1.
May 29 11:53:38 server1 systemd[1]: Starting inetd.service - Internet superserver...
May 29 11:53:38 server1 systemd[1]: Started inetd.service - Internet superserver.

Kiểm tra kết nối Telnet từ hệ thống từ xa​

Máy chủ Telnet hiện đã được cài đặt và đang lắng nghe trên cổng 23. Đã đến lúc kết nối máy chủ Telnet từ hệ thống từ xa.

Bây giờ, hãy đăng nhập sang hệ thống Ubuntu khác và chạy lệnh sau:
Mã:
telnet 192.168.0.100
Bạn sẽ được yêu cầu nhập tên người dùng và mật khẩu. Sau khi xác thực thành công, bạn sẽ thấy kết quả sau:
Mã:
Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
Linux 6.8.0-31-generic (server1.example.com) (pts/1)
server1 login: howtoforge
Password:
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-31-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/pro
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.
To restore this content, you can run the 'unminimize' command.
You have new mail.
Bây giờ bạn có thể chạy bất kỳ lệnh nào trên máy chủ Telnet bằng Telnet.

Sử dụng telnet để kiểm tra các cổng mở​

Bạn cũng có thể sử dụng Telnet để kiểm tra các cổng mở trên hệ thống từ xa.

Ví dụ: để kiểm tra cổng 80 trên hệ thống từ xa (IP 192.168.0.100), hãy chạy lệnh sau:
Mã:
telnet 192.168.0.100 80
Nếu cổng 80 mở, bạn sẽ thấy đầu ra sau:
Mã:
Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
Nếu cổng 80 bị chặn hoặc dịch vụ Telnet không chạy. Bạn sẽ thấy kết quả đầu ra sau:
Mã:
Trying 192.168.0.100...
telnet: Unable to connect to remote host: Connection refused

Sử dụng lệnh Telnet để kiểm tra Máy chủ thư​

Lệnh Telnet cũng rất hữu ích để kiểm tra máy chủ thư. Kết nối với máy chủ thư bằng Telnet
Mã:
telnet 192.168.0.100 25
Nếu kết nối thành công, bạn sẽ thấy phản hồi từ máy chủ khác tương tự như sau:
Mã:
Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix (Debian/GNU)
Bây giờ bạn có thể phản hồi máy chủ bằng lệnh ehlo, theo sau là tên miền người gửi của bạn. Ví dụ:
Mã:
ehlo mydomain.tld
Sau đó, máy chủ thư sẽ hiển thị cho bạn những phương pháp mà nó hỗ trợ.
Mã:
250-server1.example.com
250-PIPELINING
250-SIZE
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250-SMTPUTF8
250 CHUNKING
Để thoát khỏi kết nối, hãy nhập lệnh thoát.
Mã:
quit
Kết quả sẽ là:
Mã:
221 2.0.0 Bye
Connection closed by foreign host.
Trình tự lệnh đầy đủ is:
Mã:
user@server1:~# [I][B]telnet 192.168.0.100 25[/b][/I]
Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix (Debian/GNU)
[B][I]ehlo mydomain.tld[/I][/b]
250-server1.example.com
250-PIPELINING
250-SIZE
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250-SMTPUTF8
250 CHUNKING
[I][B]quit[/b][/I]
221 2.0.0 Bye
Connection closed by foreign host.
user@server1:~#
Quy trình kiểm tra này hữu ích nếu bạn muốn tìm hiểu xem dịch vụ thư (cổng 25) có bị nhà cung cấp dịch vụ internet hoặc trung tâm dữ liệu của bạn chặn không.

Câu hỏi thường gặp​

Telnet là gì?​

Telnet là một giao thức mạng cung cấp tiện ích truyền thông tương tác hai chiều theo định hướng văn bản bằng cách sử dụng kết nối thiết bị đầu cuối ảo. Nó thường được sử dụng để truy cập vào các máy chủ từ xa.

Telnet có an toàn khi truyền dữ liệu nhạy cảm không?​

Không, Telnet không an toàn khi truyền dữ liệu nhạy cảm vì nó truyền dữ liệu dưới dạng văn bản thuần túy. Để liên lạc an toàn, nên sử dụng SSH (Secure Shell).

Làm thế nào để sử dụng Telnet trên Ubuntu?​

Để sử dụng Telnet, hãy mở terminal và nhập:
Mã:
telnet [hostname] [port]
Thay thế [hostname] bằng địa chỉ IP hoặc tên miền của máy chủ mà bạn muốn kết nối đến và [port] bằng số cổng.

Tôi có thể cài đặt Telnet trên tất cả các phiên bản Ubuntu không?​

Bạn có thể cài đặt Telnet trên tất cả các phiên bản Ubuntu hiện tại. Tuy nhiên, hãy đảm bảo hệ thống của bạn được cập nhật trước khi cài đặt phần mềm mới.

Tại sao tôi nhận được thông báo lỗi khi cố gắng cài đặt Telnet?​

Nếu bạn nhận được thông báo lỗi, có thể là do một số lý do như hệ thống của bạn chưa được cập nhật hoặc gói Telnet không có trong kho lưu trữ của bạn. Đảm bảo hệ thống của bạn được cập nhật và bạn có kết nối internet đang hoạt động.

Làm thế nào để gỡ cài đặt Telnet khỏi Ubuntu?​

Để gỡ cài đặt Telnet, hãy mở terminal của bạn và nhập
Mã:
sudo apt-get remove telnet

Có giải pháp thay thế nào cho Telnet trên Ubuntu không?​

SSH là giải pháp thay thế phổ biến cho Telnet. SSH cung cấp kết nối được mã hóa và an toàn hơn. Cài đặt SSH bằng cách nhập `sudo apt-get install openssh-client` vào terminal của bạn.

Tôi có thể sử dụng Telnet để kết nối với máy chủ Windows từ Ubuntu không?​

Có, bạn có thể sử dụng Telnet để kết nối với máy chủ Windows nếu dịch vụ Telnet được bật trên máy chủ Windows.

Có thể tự động hóa các tác vụ bằng Telnet trong Ubuntu không?​

Mặc dù về mặt kỹ thuật có thể tự động hóa các tác vụ bằng các tập lệnh Telnet, nhưng không nên làm như vậy vì rủi ro bảo mật. Hãy cân nhắc sử dụng các phương pháp an toàn hơn như SSH để tự động hóa.

Mục đích của việc kiểm tra máy chủ thư bằng Telnet là gì?​

Kiểm tra máy chủ thư bằng Telnet cho phép bạn gửi thủ công các tin nhắn email, kiểm tra các cổng SMTP mở và chẩn đoán các sự cố với hoạt động của máy chủ thư. Điều này có thể hữu ích để khắc phục sự cố gửi email.

Tôi nên làm gì nếu kết nối Telnet với máy chủ thư không thành công?​

Nếu kết nối không thành công, hãy kiểm tra xem địa chỉ máy chủ thư và số cổng có đúng không. Ngoài ra, hãy đảm bảo rằng mạng của bạn cho phép kết nối đi trên cổng 25. Một số ISP chặn cổng này vì lý do bảo mật.

Làm thế nào để gửi email bằng Telnet?​

Sau khi kết nối với máy chủ SMTP qua Telnet, hãy sử dụng các lệnh sau theo thứ tự:
Mã:
HELO [your_domain.com]
MAIL FROM:
RCPT TO:
DATA
Sau đó, nhập tin nhắn của bạn. Khi hoàn tất, hãy kết thúc tin nhắn bằng một dấu chấm (.) trên một dòng mới và nhấn Enter.
Cuối cùng, sử dụng lệnh QUIT để kết thúc phiên.

Những lỗi thường gặp cần chú ý khi kiểm tra máy chủ thư bằng Telnet là gì?​

Các lỗi thường gặp bao gồm thời gian chờ kết nối, lỗi từ chối hoặc mã lỗi từ máy chủ SMTP như 550 (không tìm thấy người dùng) hoặc 451 (sự cố cục bộ tạm thời). Những lỗi này chỉ ra sự cố về khả năng truy cập máy chủ hoặc phân phối email.

Có thể kiểm tra các cổng SMTP an toàn bằng Telnet không?​

Telnet không hỗ trợ các kết nối được mã hóa gốc (như các kết nối được sử dụng trên cổng 465 hoặc 587 cho SMTP an toàn). Để kiểm tra những điều này, các công cụ như OpenSSL phù hợp hơn.

Tôi có thể sử dụng Telnet để kiểm tra các cổng máy chủ thư IMAP hoặc POP3 không?​

Có, bạn có thể sử dụng Telnet để kết nối với máy chủ IMAP (cổng 143 hoặc 993) hoặc POP3 (cổng 110 hoặc 995). Tuy nhiên, hãy nhớ rằng các lệnh và tương tác khác với SMTP.

Tôi có cần quyền đặc biệt trên Ubuntu để sử dụng Telnet để kiểm tra máy chủ thư không?​

Không cần quyền đặc biệt nào để sử dụng Telnet; tuy nhiên, bạn cần có quyền truy cập mạng và quyền cài đặt Telnet nếu hệ thống của bạn chưa có Telnet.

Tôi diễn giải các phản hồi từ máy chủ thư trong phiên Telnet như thế nào?​

Phản hồi SMTP thường là mã số theo sau là tin nhắn văn bản. Mã bắt đầu bằng 2 biểu thị thành công, 4 biểu thị lỗi tạm thời và 5 biểu thị lỗi vĩnh viễn. Tin nhắn văn bản cung cấp thêm chi tiết về phản hồi.

Kiểm tra máy chủ thư bằng Telnet có phải là phương pháp an toàn không?​

Kiểm tra bằng Telnet không được mã hóa, khiến việc truyền thông tin nhạy cảm trở nên không an toàn. Phương pháp này thường được sử dụng để khắc phục sự cố trong môi trường được kiểm soát. Để giao tiếp an toàn, hãy sử dụng các giao thức như SSH.
 
Back
Bên trên