在日常的Linux系统管理或开发工作中,我们经常需要在本地计算机与远程服务器之间安全地传输文件。传统的FTP协议由于数据明文传输存在安全隐患,而SFTP(SSH File Transfer Protocol)则基于SSH加密通道,提供了更安全、可靠的文件传输方式。本文将手把手教你如何在Ubuntu系统中使用SFTP命令进行安全文件传输,即使是Linux新手也能轻松上手。
什么是SFTP?
SFTP并不是FTP的简单升级版,而是运行在SSH(Secure Shell)协议之上的文件传输协议。它利用SSH的加密机制,确保用户名、密码以及传输的文件内容都不会被窃听或篡改。因此,安全FTP连接实际上指的就是使用SFTP这类基于加密通道的文件传输方式。
前提条件
在使用SFTP之前,请确保:
你的Ubuntu系统已安装OpenSSH客户端(大多数系统默认已安装) 远程服务器已启用SSH服务(通常端口为22) 你拥有远程服务器的有效用户名和密码(或SSH密钥)基本SFTP连接命令
打开Ubuntu终端(Ctrl+Alt+T),输入以下命令连接到远程服务器:
sftp username@remote_host
例如,如果你的用户名是
alice,服务器IP是
192.168.1.100,则命令为:
sftp alice@192.168.1.100
首次连接时,系统会提示你确认服务器的指纹(这是SSH的安全机制),输入
yes并回车。接着输入密码即可登录。
常用SFTP操作命令
成功连接后,你会进入SFTP交互式命令行界面。以下是一些最常用的命令:
pwd:查看远程服务器当前目录
lpwd:查看本地当前目录
ls:列出远程目录内容
lls:列出本地目录内容
cd 目录名:切换远程目录
lcd 目录名:切换本地目录
get 文件名:从远程下载文件到本地
put 文件名:从本地上传文件到远程
exit或
quit:退出SFTP会话
实际操作示例
假设你想将本地的
report.pdf上传到远程服务器的
/home/alice/documents/目录:
sftp alice@192.168.1.100# 输入密码后进入SFTP环境sftp> lcd ~/Downloadssftp> cd documentssftp> put report.pdfsftp> exit
同样,若要从远程下载
backup.zip到本地
~/Backups目录:
sftp alice@192.168.1.100sftp> lcd ~/Backupssftp> get backup.zipsftp> exit
使用非默认端口连接
如果远程SSH服务运行在非22端口(例如2222),可以使用
-P参数指定端口:
sftp -P 2222 alice@192.168.1.100
小贴士与安全建议
为了提升安全性,建议:
优先使用SSH密钥认证代替密码登录 定期更新系统和OpenSSH软件包 限制SFTP用户的访问目录(可通过配置ChrootDirectory实现)
通过本教程,你应该已经掌握了在Ubuntu中使用Ubuntu SFTP命令进行安全FTP连接的基本方法。无论是上传配置文件、备份数据还是部署代码,SFTP都是一个强大而安全的选择。希望这篇SFTP教程能帮助你在Linux文件传输的道路上更加自信!
关键词回顾:Ubuntu SFTP命令、安全FTP连接、Linux文件传输、SFTP教程。
