当前位置: 首页 > news >正文

带你了解linux:学习第十六课 linux 之 Ftp Sftp

今天要介绍的是最常用的传输工具 Ftp和Sftp。

FTP(File Transfer Protocol)和SFTP(Secure File Transfer Protocol)是两种用于在网络上进行文件传输的协议。FTP是较早的协议,而SFTP是基于SSH(Secure Shell)的更安全的协议。下面将详细介绍FTP和SFTP的安装、配置和使用方法,以及常用命令和参数。

FTP工具:

FlashFXP下载

FileZilla下载

CrossFTP下载

8UFTP下载

FTP

安装

在大多数Linux发行版中,FTP服务器可以通过安装vsftpd(Very Secure FTP Daemon)来实现。

  1. 安装vsftpd

    sudo apt-get update
    sudo apt-get install vsftpd
  2. 配置vsftpd

     

    编辑配置文件 /etc/vsftpd.conf

    sudo nano /etc/vsftpd.conf

    一些常见的配置项:

    • listen=YES:使vsftpd监听IPv4地址。
    • anonymous_enable=NO:禁用匿名登录。
    • local_enable=YES:允许本地用户登录。
    • write_enable=YES:允许上传文件。
    • chroot_local_user=YES:将用户限制在其主目录中。
  3. 启动和启用vsftpd服务

    sudo systemctl start vsftpd
    sudo systemctl enable vsftpd
使用FTP客户端
  1. 命令行客户端

     

    使用 ftp 命令连接到FTP服务器:

    ftp ftp.example.com

    输入用户名和密码后,可以使用以下命令:

    • ls:列出远程目录内容。
    • cd:更改远程目录。
    • get filename:下载文件。
    • put filename:上传文件。
    • bye 或 quit:退出FTP会话。
  2. 图形界面客户端

     

    常见的图形界面FTP客户端有FileZilla、WinSCP等。

SFTP

安装

SFTP通常通过SSH服务器(如OpenSSH)提供支持,因此不需要单独安装SFTP服务器。

  1. 安装OpenSSH服务器

    sudo apt-get update
    sudo apt-get install openssh-server
  2. 配置OpenSSH

     

    编辑配置文件 /etc/ssh/sshd_config

    sudo nano /etc/ssh/sshd_config

    一些常见的配置项:

    • Port 22:指定SSH端口。
    • PermitRootLogin no:禁止root用户登录。
    • PasswordAuthentication yes:允许密码认证。
    • AllowUsers username:允许特定用户登录。
  3. 启动和启用SSH服务

    sudo systemctl start ssh
    sudo systemctl enable ssh
使用SFTP客户端
  1. 命令行客户端

     

    使用 sftp 命令连接到SFTP服务器:

    sftp user@server.example.com

    输入密码后,可以使用以下命令:

    • ls:列出远程目录内容。
    • cd:更改远程目录。
    • get filename:下载文件。
    • put filename:上传文件。
    • mkdir dirname:创建远程目录。
    • rm filename:删除远程文件。
    • bye 或 exit:退出SFTP会话。
  2. 图形界面客户端

     

    常见的图形界面SFTP客户端有FileZilla、WinSCP等。

常用命令和参数

FTP命令
  • open hostname:连接到FTP服务器。
  • user username password:登录FTP服务器。
  • ls:列出远程目录内容。
  • cd directory:更改远程目录。
  • lcd directory:更改本地目录。
  • get filename:下载文件。
  • put filename:上传文件。
  • mget filenames:下载多个文件。
  • mput filenames:上传多个文件。
  • binary:切换到二进制传输模式。
  • ascii:切换到ASCII传输模式。
  • pwd:显示当前远程目录。
  • bye 或 quit:退出FTP会话。
SFTP命令
  • sftp user@hostname:连接到SFTP服务器。
  • ls:列出远程目录内容。
  • cd directory:更改远程目录。
  • lcd directory:更改本地目录。
  • get filename:下载文件。
  • put filename:上传文件。
  • mget filenames:下载多个文件。
  • mput filenames:上传多个文件。
  • mkdir directory:创建远程目录。
  • rmdir directory:删除远程目录。
  • rm filename:删除远程文件。
  • rename oldname newname:重命名远程文件。
  • pwd:显示当前远程目录。
  • lpwd:显示当前本地目录。
  • bye 或 exit:退出SFTP会话。

示例

FTP示例
  1. 连接到FTP服务器

    ftp ftp.example.com
  2. 登录

    Name: user
    Password: password
  3. 列出远程目录内容

    ls
  4. 下载文件

    get filename.txt
  5. 退出FTP会话

    bye
SFTP示例
  1. 连接到SFTP服务器

    sftp user@server.example.com
  2. 登录

    Password: password
  3. 列出远程目录内容

    ls
  4. 下载文件

    get filename.txt
  5. 上传文件

    put localfile.txt
  6. 退出SFTP会话

    exit

总结

FTP和SFTP都是用于文件传输的协议,但SFTP更加安全,因为它基于SSH协议。通过安装和配置相应的服务,你可以轻松地使用这些协议进行文件传输。希望这些介绍和示例能帮助你更好地理解和使用FTP和SFTP。如果有更多问题或需要进一步的示例,请随时提问!


http://www.mrgr.cn/news/49535.html

相关文章:

  • python之selenium接管打开的谷歌浏览器窗口——隐藏爬虫特征,跳过登陆弹窗验证
  • 监听下载上传进度
  • [STM32] 简单介绍 (一)
  • 现代数字信号处理I-P3 MVUE学习笔记
  • sqli-labs less-26 空格绕过
  • 微知-Bluefield DPU使用flint烧录固件报错MFE_NO_FLASH_DETECTED是什么?MFE是什么?
  • pip install spleeter-gpu下载失败
  • hbuildex运行微信小程序报错
  • C语言解决TopK问题
  • tiktok x-bougs signature 分析
  • leetcode 491.非递减子序列
  • WindowsAPI|每天了解几个winAPI接口之Iphlpapi.h网络配置相关文档详细分析二
  • finebi面试题精选
  • 芋道快速开发平台学习笔记
  • AD9248驱动的简易示波器设计——FPGA学习笔记21
  • 三、ElementPlus下拉搜索加弹窗组件的封装
  • text2sql: multi-agent实现思路MAC-SQL
  • 动力电池SOC估算方法
  • AI 能否替代程序员?且听我来一唠!
  • 【MySQL】数据库基础指令(一)