【sftp登录及命令行用法】SFTP(Secure File Transfer Protocol)是一种基于SSH协议的安全文件传输方式,常用于在本地与远程服务器之间安全地传输文件。相比传统的FTP,SFTP提供了更强的安全性,支持加密传输和身份验证。以下是对SFTP登录及常用命令行操作的总结。
一、SFTP登录方式
登录方式 | 说明 | 示例命令 |
基于密码登录 | 使用用户名和密码进行认证 | `sftp username@remote_host` |
基于密钥登录 | 使用SSH密钥对进行认证,更安全 | `sftp -i /path/to/private_key username@remote_host` |
指定端口登录 | 如果远程服务器使用非默认SSH端口 | `sftp -P 2222 username@remote_host` |
二、SFTP常用命令行操作
命令 | 功能说明 | 示例 |
`ls` | 列出当前远程目录下的文件 | `ls` |
`lls` | 列出本地当前目录下的文件 | `lls` |
`cd` | 进入远程目录 | `cd /remote/path` |
`lcd` | 进入本地目录 | `lcd /local/path` |
`get` | 下载远程文件到本地 | `get remote_file` |
`put` | 上传本地文件到远程 | `put local_file` |
`mget` | 批量下载多个文件 | `mget file1 file2` |
`mput` | 批量上传多个文件 | `mput file1 file2` |
`rename` | 重命名远程文件 | `rename old_name new_name` |
`delete` | 删除远程文件 | `delete filename` |
`mkdir` | 创建远程目录 | `mkdir new_dir` |
`rmdir` | 删除远程空目录 | `rmdir dir_name` |
`exit` / `quit` | 退出SFTP会话 | `exit` |
三、注意事项
- SFTP连接后,所有操作均在交互模式下进行,输入命令后按回车执行。
- 使用密钥登录时,需确保私钥权限为600(即仅用户可读写),否则可能无法成功登录。
- 若遇到“Permission denied”错误,可能是权限设置或防火墙限制导致。
- 在脚本中使用SFTP时,建议配合`expect`或`sshpass`等工具实现自动化登录。
四、总结
SFTP是现代服务器管理中不可或缺的工具,尤其适用于需要高安全性的文件传输场景。掌握其基本登录方式和常用命令,能够显著提升工作效率。无论是日常文件传输还是自动化脚本编写,SFTP都能提供稳定且安全的支持。