传输文件解决方案

免费

#传输

SMB协议

使用方式:

  • Windows自带文件共享

  • NAS服务器

FTP协议

使用方式:

  • 命令行使用

  • Xftp工具

  • FileZilla系列

  • 浏览器

SFTP协议

免费

image-20250402150045969

FTPS协议

免费

SSH协议

  • Xshell工具

HTTP协议

ffs

远程SSH

FinalShell

免费

推荐

window安装需要的挺麻烦

1、在系统功能中添加ssh客户端和服务端

image-20250402144509048

大概率特别慢:

或者https://github.com/PowerShell/Win32-OpenSSH/releases/tag/v9.8.1.0p1-Preview

下载msi直接安装(一闪而过)

  1. 如果是ZIP,把压缩包中的文件解压后复制到C:\Program Files\OpenSSH目录(没有就新建)。然后管理员身份打开PowerShell,在当前目录中执行:
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

如果是MSI,则直接双击msi文件安装。

安装之后服务选项就有了这个

接下来启动

net start sshd

就可以使用ssh连接到windows了!

开机自启:

可以在服务中找到,然后设置为自动启动

image-20250402144907203

  1. 或者如果需要每次开机后自动启动,那么在PowerShell中输入如下命令
Set-Service sshd -StartupType Automatic

传输文件用的是sftp协议(ssh file transport protocol)

image-20250402145857748

image-20250402145950895

完整日志:

image-20250402150303842

在安装好 OpenSSH 服务端之后,您可以使用以下几种方式来传输文件:

  1. scp(Secure Copy)
    • scp 是一种基于 SSH 的安全文件传输工具,可以用来在本地计算机和远程计算机之间,或者两个远程计算机之间复制文件。
    • 基本用法:
      • 从本地复制到远程:scp /path/to/local/file username@remotehost:/path/to/remote/directory
      • 从远程复制到本地:scp username@remotehost:/path/to/remote/file /path/to/local/directory
  2. sftp(Secure File Transfer Protocol)
    • sftp 是一种交互式的文件传输协议,也是基于 SSH 的,提供了类似于 FTP 的功能,但更加安全。
    • 使用 sftp 命令连接到远程主机后,可以使用 getput 等命令来上传和下载文件。
  3. rsync(Remote Sync)
    • rsync 是一种快速、多功能的文件复制工具,可以通过 SSH 进行远程传输。
    • 基本用法:rsync -avz -e ssh /path/to/local/file username@remotehost:/path/to/remote/directory
    • rsync 特别适合于同步大量文件,因为它只传输改变的部分。

选择哪种工具取决于您的具体需求和个人偏好。scpsftp 更适合简单的文件传输任务,而 rsync 则适用于需要同步大量文件或目录的情况。

以下是 scpsftprsync 三种命令的基本使用教程:

1. scp 使用教程

scp 用于通过 SSH 协议安全地复制文件 между本地和远程主机。 从本地复制到远程:

bash
scp /path/to/local/file username@remotehost:/path/to/remote/directory

例如:

bash
scp /home/user/myfile.txt user@remotehost.com:/home/user/

从远程复制到本地:

bash
scp username@remotehost:/path/to/remote/file /path/to/local/directory

例如:

bash
scp user@remotehost.com:/home/user/myfile.txt /home/user/

选项:

  • -P port:指定远程主机的端口号(如果不是默认的22端口)。
  • -r:递归复制目录。
  • -v:详细模式,显示传输过程中的详细信息。

2. sftp 使用教程

sftp 是一个交互式的文件传输程序,类似于 ftp,但是通过 SSH 进行加密。 连接到远程主机:

bash
sftp username@remotehost

例如:

bash
sftp user@remotehost.com

常用命令:

  • ls:列出远程目录中的文件。
  • lls:列出本地目录中的文件。
  • cd path:改变远程目录。
  • lcd path:改变本地目录。
  • get remote-file [local-file]:下载文件。
  • put local-file [remote-file]:上传文件。
  • exit:退出 sftp 会话。 示例会话:
bash
sftp user@remotehost.com
Connected to remotehost.com.
sftp> ls
sftp> get remote-file.txt
sftp> put local-file.txt
sftp> exit

3. rsync 使用教程

rsync 是一个强大的文件同步工具,可以通过 SSH 进行远程同步。 基本用法:

bash
rsync [options] /path/to/source username@remotehost:/path/to/destination

常用选项:

  • -a:归档模式,表示递归并保持文件属性。
  • -v:详细模式。
  • -z:压缩文件数据。
  • -e ssh:指定使用 SSH 作为传输方式。
  • --progress:显示进度信息。 示例:
bash
rsync -avz -e ssh /home/user/myfolder user@remotehost.com:/home/user/

从远程同步到本地:

bash
rsync -avz -e ssh username@remotehost:/path/to/remote/source /path/to/local/destination

示例:

bash
rsync -avz -e ssh user@remotehost.com:/home/user/myfolder /home/user/

请注意,使用这些命令时,您需要具有相应的权限来访问远程主机,并且远程主机上需要运行 SSH 服务。此外,rsync 需要在远程主机上安装相应的客户端或服务端软件。在使用这些命令时,请确保您了解每个选项的作用,并根据您的需要进行调整。

XShell

付费使用

评论

评论加载中……