ubuntu

Ubuntu SSH文件传输技巧

小樊
55
2025-07-25 13:18:00
栏目: 智能运维

在Ubuntu系统中,通过SSH进行文件传输通常有两种主要方法:SCP(Secure Copy Protocol)和SFTP(SSH File Transfer Protocol)。以下是这两种方法的简要说明和示例:

SCP命令

SCP是一种基于SSH的文件传输协议,可以在本地主机和远程主机之间安全地复制文件。

从本地传输到远程服务器:

scp /path/to/local/file username@remote_host:/path/to/remote/directory

例如,将本地的example.txt文件传输到远程服务器的/home/username/documents目录:

scp example.txt username@remote_host:/home/username/documents

从远程服务器传输到本地:

scp username@remote_host:/path/to/remote/file /path/to/local/directory

例如,将远程服务器上的example.txt文件传输到本地的/home/localuser/documents目录:

scp username@remote_host:/home/username/documents/example.txt /home/localuser/documents

传输整个目录:

scp -r /path/to/local/directory username@remote_host:/path/to/remote/directory

例如,将本地的myfolder目录及其内容传输到远程服务器的/home/username/documents目录:

scp -r myfolder username@remote_host:/home/username/documents

使用非标准SSH端口: 如果远程服务器使用的是非标准SSH端口,可以使用-P选项指定端口号:

scp -P port_number /path/to/local/file username@remote_host:/path/to/remote/directory

保持文件的修改时间和访问时间: 使用-p选项可以在传输过程中保持文件的修改时间和访问时间:

scp -p /path/to/local/file username@remote_host:/path/to/remote/directory

加密并压缩文件: 使用-C选项可以在传输过程中加密并压缩文件:

scp -C /path/to/local/file username@remote_host:/path/to/remote/directory
```。

### SFTP命令

SFTP是一种基于SSH的文件传输协议,提供了一个交互式的文件传输界面。

**启动SFTP会话:**
```bash
sftp username@remote_host

常用SFTP命令:

免密传输

为了在传输文件时无需输入密码,可以使用SSH密钥认证。以下是生成公私钥对并将公钥添加到远程服务器上的authorized_keys文件中的步骤:

  1. 生成公私钥对:
ssh-keygen -t rsa
  1. ~/.ssh/id_rsa.pub文件中的内容拷贝到远程服务器上的~/.ssh/authorized_keys文件中。

使用工具进行文件传输

除了命令行工具,还可以使用图形界面的工具进行文件传输,例如:

通过以上方法,你可以在Ubuntu系统中方便地通过SSH进行文件传输。

0
看了该问题的人还看了