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.
Tiếp theo, mở tệp /etc/inetd.conf bằng trình chỉnh sửa:
Thêm dòng sau vào cuối tệp:
Lưu tệp cấu hình inetd.conf và khởi động lại dịch vụ 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:
Đầu ra:
Bây giờ, hãy đăng nhập sang hệ thống Ubuntu khác và chạy lệnh sau:
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:
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.
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:
Nếu cổng 80 mở, bạn sẽ thấy đầu ra sau:
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:
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:
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ụ:
Sau đó, máy chủ thư sẽ hiển thị cho bạn những phương pháp mà nó hỗ trợ.
Để thoát khỏi kết nối, hãy nhập lệnh thoát.
Kết quả sẽ là:
Trình tự lệnh đầy đủ is:
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.
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.
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.
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
Mã:
sudo nano /etc/inetd.conf
Mã:
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/telnetd
Mã:
sudo systemctl restart inetd
Mã:
sudo systemctl status inetd
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
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.
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
Mã:
Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
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
Mã:
Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix (Debian/GNU)
Mã:
ehlo mydomain.tld
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
Mã:
quit
Mã:
221 2.0.0 Bye
Connection closed by foreign host.
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:~#
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]
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
Cuối cùng, sử dụng lệnh QUIT để kết thúc phiên.