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

server/2024/10/17 18:05:16/

今天要介绍的是最常用的传输工具 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.ppmy.cn/server/131417.html

相关文章

通信工程学习:什么是SRAM静态随机存取存储器

SRAM:静态随机存取存储器 SRAM,全称为Static Random-Access Memory,即静态随机存取存储器,是一种重要的随机存取存储器类型。以下是对SRAM的详细介绍: 一、定义与特点 定义: SRAM是一种只要保持通电&#…

ChatGPT:引领人工智能新潮流!

一、ChatGPT 是什么? 1. ChatGPT 的强大功能和广泛应用。 ChatGPT 作为一款先进的 AI 语言模型,拥有众多强大功能。它可以进行文本生成、文本分类、情感分析、机器翻译等多种自然语言处理任务。同时,ChatGPT 还能进行对话式交互,…

Redis 缓存淘汰策略:LRU 和 LFU 的缺点及解决方案详解

引言 Redis 是一款高性能的内存数据库,它的缓存淘汰机制是保障内存使用效率和应用性能的关键。为了在内存有限的情况下保证缓存数据的有效性,Redis 提供了多种缓存淘汰策略,其中 LRU(Least Recently Used,最近最少使用…

springmvc的处理流程

用户把请求发到前端控制器,前端控制器通过handlerMapping找到controller,controller调用service,service调用dao,从数据库拿到要获取的数据,然后modelandview给前端控制器,前端控制器通过viewresolver解析视…

磁盘存储链式结构——B树与B+树

红黑树处理数据都是在内存中,考虑的都是内存中的运算时间复杂度。如果我们要操作的数据集非常大,大到内存已经没办法处理了该怎么办呢? 试想一下,为了要在一个拥有几十万个文件的磁盘中查找一个文本文件,设计的…

Ubuntu卸载Mysql【ubuntu 24.04/mysql 8.0.39】

一、准备工作 查看ubuntu版本号 查看mysql版本号(如果没有安装mysql,这一步省略) 二、Ubuntu上卸载mysql(如果没有安装mysql这一步省略) 在Ubuntu上卸载MySQL可以通过以下步骤进行,确保完全移除MySQL相关的包和数据: 1. 停止MySQL服务 在卸载之前…

SQLite Developer使用说明

1.SQLite Developer下载 SQLite Developer官方版是SharpPlus出品的一款数据库管理工具。支持对sqlite3数据库的管理,能够自动完成窗口显示和执行数据库命令等多种特色。并且支持打开.db文件,适用于Android的开发。另外,使用Sqlite Developer…

【计算机网络 - 基础问题】每日 3 题(三十八)

✍个人博客:https://blog.csdn.net/Newin2020?typeblog 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞…