Linux sftp 命令

发布时间:2025-08-21 10:32

学习Linux命令行:'The Linux Command Line' 是经典教材 #生活技巧# #工作学习技巧# #编程学习资源#

Linux 命令大全

什么是 sftp?

SFTP(SSH File Transfer Protocol)是一种安全的文件传输协议,它通过 SSH(Secure Shell)加密通道传输文件。与传统的 FTP 不同,SFTP 提供了更高的安全性,所有传输的数据都会被加密。

SFTP 与 FTP 的区别

特性 SFTP FTP 安全性 加密传输 明文传输 端口 22(SSH 端口) 21(控制端口)+20(数据端口) 协议 基于 SSH 独立协议 防火墙友好性 只需开放一个端口 需要开放多个端口

sftp 命令基本语法

sftp [选项] [用户名@]主机名[:路径]

常用选项参数

选项 说明 -P 端口号 指定连接端口(默认22) -b 批处理文件 执行批处理文件中的命令 -r 递归复制整个目录 -v 显示详细的调试信息 -i 私钥文件 使用指定的私钥文件认证

连接 SFTP 服务器

基本连接方式

实例

sftp username@hostname

示例:

实例

sftp [email protected]

指定端口连接

如果服务器使用非标准端口(不是22):

实例

sftp -P 2222 [email protected]

使用密钥认证

实例

sftp -i ~/.ssh/id_rsa [email protected]

SFTP 常用操作命令

1. 本地文件操作

命令 说明 lls 列出本地目录内容 lcd 更改本地工作目录 lmkdir 在本地创建目录 lrm 删除本地文件

2. 远程文件操作

命令 说明 ls 列出远程目录内容 cd 更改远程工作目录 mkdir 在远程创建目录 rm 删除远程文件 rename 重命名远程文件

3. 文件传输

命令 说明 put 本地文件 [远程路径] 上传文件到远程服务器 get 远程文件 [本地路径] 从远程服务器下载文件 mput 本地文件* 上传多个文件 mget 远程文件* 下载多个文件

实用示例

示例1:上传文件到服务器

实例

sftp [email protected]
sftp> cd /var/www/html
sftp> put index.html
sftp> exit

示例2:下载整个目录(递归)

实例

sftp -r [email protected]:/backups /local/backups

示例3:使用批处理文件

创建 sftp_commands.txt:

put file1.txt put file2.txt get report.pdf exit

执行批处理:

实例

sftp -b sftp_commands.txt [email protected]

高级技巧

1. 使用通配符传输多个文件

实例

sftp> mput *.jpg      # 上传所有jpg文件
sftp> mget log_*.txt  # 下载所有log_开头的txt文件

2. 更改文件权限

实例

sftp> chmod 644 index.html

3. 查看文件信息

实例

sftp> ls -l

4. 使用符号链接

实例

sftp> symlink /path/to/original /path/to/link

常见问题解决

1. 连接被拒绝

检查服务器是否运行 SSH 服务 确认端口是否正确 检查防火墙设置

2. 认证失败

确认用户名和密码正确 检查密钥文件权限(应为600) 确保服务器上有你的公钥

3. 文件传输中断

检查网络连接 尝试使用 reget 和 reput 命令恢复传输

4. 权限不足

检查远程目录的写权限 可能需要使用 sudo(但 sftp 通常不支持直接 sudo)

安全最佳实践

使用密钥认证而非密码认证 限制用户权限,使用 chroot 环境 定期更新 SSH 服务器软件 禁用 root 登录,使用普通用户+sudo 监控日志文件(/var/log/auth.log)

总结

SFTP 是 Linux 系统中安全传输文件的重要工具,通过本指南,你应该已经掌握了:

SFTP 的基本概念和连接方式 常用的文件操作和传输命令 实用的批处理和高级技巧 常见问题的解决方法 安全使用的最佳实践

现在你可以安全高效地在本地和远程服务器之间传输文件了!

Linux 命令大全

网址:Linux sftp 命令 https://klqsh.com/news/view/174551

相关内容

sftp连接命令密码linux
Linux 下sftp配置之密钥方式登录详解
仅需几步就可快速实现SFTP的免密传输
Linux test命令
Linux ed命令
Linux 7z 命令
Linux zip 命令
Linux gzip 命令
快速了解Linux中的网速测试命令! – Linux命令大全(手册)
Linux cp 命令

随便看看