阅读量:5
Tigervnc在Debian上的远程文件传输技巧
一、内置文件传输功能(最简方式)
TigerVNC客户端原生支持文件传输,操作便捷,适合日常小文件共享。
步骤:
- 启动TigerVNC服务器:在Debian终端输入
vncserver :1(:1表示显示编号,对应端口5901),首次运行需设置访问密码。 - 连接服务器:用VNC客户端(如RealVNC Viewer、TightVNC Viewer)输入服务器IP及端口(如
192.168.1.100:1),通过密码验证登录。 - 执行文件传输:连接成功后,在VNC会话窗口中打开文件管理器(如Debian默认的Nautilus),直接拖放文件至本地桌面,或右键点击VNC服务器图标,选择“File Transfer > Send files”(发送文件)/“Receive files”(接收文件)即可。
二、SCP/SFTP(加密传输,安全首选)
若需传输敏感文件(如文档、代码),SCP(Secure Copy Protocol)或SFTP(SSH File Transfer Protocol)是更安全的选择,依赖SSH协议加密数据。
步骤:
- 确保Debian服务器开启SSH服务:
sudo systemctl start ssh,并设置开机自启sudo systemctl enable ssh。 - SCP传输:
- 本地到远程:在本地终端输入
scp /本地/文件路径 用户名@服务器IP:/远程/目录路径(如scp ~/document.txt user@192.168.1.100:/home/user/docs)。 - 远程到本地:输入
scp 用户名@服务器IP:/远程/文件路径 /本地/目录路径(如scp user@192.168.1.100:/home/user/report.pdf ~/Downloads)。
- 本地到远程:在本地终端输入
- SFTP传输:
在本地终端输入sftp 用户名@服务器IP -P 22(默认SSH端口为22),进入SFTP会话后,使用put命令上传(如put ~/image.jpg)、get命令下载(如get /home/user/photo.png),完成后输入exit退出。
三、Rsync(增量同步,高效传输)
Rsync支持增量同步(仅传输修改部分),适合大文件或频繁更新的文件夹,节省带宽和时间。
步骤:
- 确保服务器安装rsync:
sudo apt install rsync(Debian默认已安装)。 - 传输命令:
- 本地到远程:
rsync -avz -e ssh /本地/文件夹/ 用户名@服务器IP:/远程/目录/(-a归档模式、-v显示进度、-z压缩传输、-e ssh指定SSH加密)。 - 远程到本地:
rsync -avz -e ssh 用户名@服务器IP:/远程/文件夹/ /本地/目录/。
注:/文件夹/后的斜杠表示同步文件夹内容(不含文件夹本身),无斜杠则同步整个文件夹。
- 本地到远程:
四、优化技巧提升传输体验
- 开启VNC端口转发:若通过SSH反向隧道连接,需在本地终端执行
ssh -R 5901:localhost:5901 user@服务器IP,将服务器的5901端口转发至本地,再通过vncviewer localhost:1连接,确保连接安全。 - 调整防火墙规则:若启用ufw防火墙,需允许VNC端口(如5901)和SSH端口(22):
sudo ufw allow 5901/tcp、sudo ufw allow 22/tcp,避免连接被拦截。 - 配置VNC开机自启:编辑
/etc/systemd/system/vncserver@:1.service文件(替换your_username为实际用户名),添加以下内容:保存后执行[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking User=your_username Group=your_groupname WorkingDirectory=/home/your_username ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.targetsudo systemctl daemon-reload、sudo systemctl enable vncserver@:1.service,实现系统重启后自动启动VNC服务。