Debian系统通过Telnet进行文件传输的方法及安全建议
Telnet协议本身不支持原生文件传输,且其通信过程采用明文传输,易被窃听或篡改,存在严重安全风险。更推荐使用SFTP(SSH File Transfer Protocol)或SCP(Secure Copy Protocol)等加密协议进行文件传输。若因特殊需求必须使用Telnet,可通过以下间接方式实现:
此方法需在远程服务器上搭建FTP服务,通过Telnet连接FTP端口(默认21)并执行FTP命令完成传输。
sudo apt update && sudo apt install vsftpd
编辑配置文件/etc/vsftpd.conf,修改以下关键参数(启用本地用户登录、允许写入、限制用户根目录):anonymous_enable=NO # 禁止匿名登录
local_enable=YES # 允许本地用户登录
write_enable=YES # 允许上传文件
chroot_local_user=YES # 限制用户根目录为家目录
allow_writeable_chroot=YES # 允许家目录可写
重启vsftpd服务使配置生效:sudo systemctl restart vsftpd
telnet remote_server_ip 21
输入FTP账号密码登录后,可使用以下命令操作:
ls:列出远程目录文件;cd <目录路径>:切换远程目录;get <远程文件名>:下载文件到本地;put <本地文件名>:上传文件到远程;bye:退出FTP会话。此方法需在远程服务器安装lrzsz工具(支持Zmodem协议),并通过支持Zmodem的终端模拟器(如Xshell、SecureCRT、Tera Term)实现文件传输。
sudo apt install lrzsz
sz <文件路径>(如sz example.txt),终端模拟器会弹出文件保存对话框,选择路径即可完成下载。rz,终端模拟器会弹出文件选择窗口,选择需上传的文件后发送。若远程服务器已开启SSH服务,可通过Telnet建立SSH反向隧道,再通过SCP/SFTP传输文件,但此方法仍依赖SSH的安全性,并未发挥Telnet的优势,且操作复杂,不建议作为常规方案。
scp/sftp命令)或SCP替代,例如:scp local_file remote_user@remote_ip:/remote/path # 上传文件
scp remote_user@remote_ip:/remote/file local_path # 下载文件
ufw)限制访问源IP,仅允许可信网络连接:sudo ufw allow from trusted_ip to any port 23
综上,Telnet并非文件传输的理想工具,仅在无其他选项时作为临时解决方案。日常使用中应优先选择SFTP或SCP等加密协议,确保数据传输安全。