插件窝 干货文章 如何利用Linux进行远程文件传输

如何利用Linux进行远程文件传输

remote username 远程 path 308    来源:    2025-04-18

在Linux系统中,远程文件传输有多种高效且安全的方式,以下是常用的方法及详细操作指南:


1. SCP(Secure Copy)

特点:基于SSH协议加密传输,简单易用。
适用场景:单文件或小规模传输。
命令示例

# 本地 → 远程
scp /local/path/file.txt username@remote_ip:/remote/path/

# 远程 → 本地
scp username@remote_ip:/remote/path/file.txt /local/path/

# 递归传输目录(-r)
scp -r /local/dir username@remote_ip:/remote/path/

注意:默认使用SSH端口22,若修改端口需加 -P port_num


2. SFTP(SSH File Transfer Protocol)

特点:交互式操作,类似FTP但更安全。
适用场景:需要浏览远程目录或频繁传输。
操作步骤

sftp username@remote_ip

登录后使用以下命令:
- put local_file:上传文件
- get remote_file:下载文件
- lscd:浏览远程目录
- llslcd:浏览本地目录
- exit:退出


3. Rsync

特点:增量同步,高效传输大文件或目录。
适用场景:备份或同步大量数据。
命令示例

# 本地同步到远程(-a归档模式,-z压缩,-v显示进度)
rsync -azv /local/path/ username@remote_ip:/remote/path/

# 远程同步到本地
rsync -azv username@remote_ip:/remote/path/ /local/path/

# 删除目标多余文件(--delete)
rsync -azv --delete /local/path/ username@remote_ip:/remote/path/

4. SSH + Tar(适合大目录)

特点:结合tar压缩传输,节省带宽。
命令示例

# 本地打包 → 远程解压
tar czf - /local/dir | ssh username@remote_ip "tar xzf - -C /remote/path"

# 远程打包 → 本地解压
ssh username@remote_ip "tar czf - /remote/dir" | tar xzf - -C /local/path

5. FTP/FTPS

特点:传统协议,需安装服务端(如vsftpd)。
配置步骤
1. 安装vsftpd:
bash sudo apt install vsftpd # Debian/Ubuntu sudo yum install vsftpd # CentOS/RHEL 2. 修改配置文件 /etc/vsftpd.conf,启用SSL(FTPS)更安全。
3. 使用客户端连接:
bash ftp remote_ip # 或图形化工具(FileZilla等)


6. 其他工具

  • NFS:适合局域网内挂载远程目录。
  • WebDAV:基于HTTP协议,需配置Apache/Nginx。
  • Syncthing:开源P2P同步工具,无需中心服务器。

安全建议

  1. 优先使用SSH相关工具(SCP/SFTP/Rsync-over-SSH)。
  2. 避免使用明文协议(如FTP),改用FTPS或SFTP。
  3. 使用SSH密钥认证替代密码登录:
    bash ssh-copy-id username@remote_ip

根据需求选择合适工具,平衡效率与安全性!