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

Ubuntu实现远程文件传输

目录

  • 安装 FileZilla
  • Ubuntu 配套设置
  • 实现文件传输

    在Ubuntu系统中,实现远程文件传输的方法有多种,常见的包括使用SSH(Secure Shell)的SCP(Secure Copy Protocol)命令、SFTP(SSH File Transfer Protocol)、Rsync以及更高级的图形化工具如FTP客户端或云存储服务。这里我们使用FileZilla软件。

    FileZilla 是一款流行的开源 FTP 客户端,用于文件传输协议(FTP)、安全文件传输协议(SFTP)以及扩展文件传输协议(FTPS)的文件上传和下载。FileZilla 是一个跨平台的工具,支持 Windows、Linux 和 macOS 操作系统。它具有用户友好的图形界面,并提供了强大的功能,广泛用于网站管理、服务器管理以及其他需要远程文件传输的任务。

安装 FileZilla

    这里是安装链接:FileZilla中文网
    这里我们选择客户端版的进行下载。
在这里插入图片描述
在这里插入图片描述

    下载好以后打开压缩包,进行安装。
    
第一步在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
    到这一步就安装完成了。
在这里插入图片描述

Ubuntu 配套设置

    我们选择 SFTP(SSH File Transfer Protocol)进行文件传输,这就要求我们在Ubuntu中确保目标服务器已经安装并启用了 SSH 服务。SSH 提供了一种安全的加密连接方式,允许通过网络远程访问和管理服务器的文件。那么我接下来将介绍如何在Ubuntu配置SSH服务。

  1. 首先最好先给你的用户配置sudo权限

    首先先查看你的Ubuntu是否正确安装了sudo 命令

    sudo
    

    我这里目前已经安装在这里插入图片描述
    配置sudo权限必须是root 用户或者是具备 sudo 权限的另一个用户。我这里选择root用户。

    su
    

    如果出现这个报错,很有可能因为root账户未启用:。默认情况下,Ubuntu禁用了root账户。如果你没有启用root账户,就会看到此错误。在这里插入图片描述
    如果你确实需要启用root账户,可以使用以下命令

    sudo passwd root
    

    在这里插入图片描述

    给用户添加sudo权限

    sudo usermod -aG sudo 用户名
    

    在这里插入图片描述

  2. 检查Ubuntu是否正确的安装了SSH(Ubuntu默认是不安装SSH的)

    ps -e |grep ssh
    

    如果像这样什么都没有输出,就说明是没有安装,那就需要走第3步。如果已经安装,就请直接走第4步。
    在这里插入图片描述

  3. 安装SSH
        在Ubuntu中,SSH(Secure Shell)是一种网络协议,主要用于在不安全的网络上安全地访问远程计算机或服务器。它通过加密通信来确保数据传输的安全性,防止数据被中途窃取或篡改。SSH常用于以下几种场景:远程登录、文件传输、远程执行命令、端口转发等。
        安装需要到具有sudo权限下的用户中安装。

    su #进入root
    sudo apt-get update
    sudo apt-get install openssh-server 
    

    这个是之后运行完成的截图,我自己本身完成的到这步是没有ssh显示的,还是之后完成了步骤4之后查询才有的
    在这里插入图片描述在这里插入图片描述

      代码需要到具有sudo权限的账户下运行才可以,如果在没有sudo权限的用户中运行会报错。
    在这里插入图片描述

  4. 启动ssh(我这里是WSL环境下的,所以是这语句,如果是其他环境,大家请自己搜索对应的语句)

    sudo service ssh start
    

    我这里报错了,因为系统无法加载 SSH 主机密钥
    在这里插入图片描述
    因此我首先检查密匙文件是否存在(我这里出现的原因是不存在),因此我就选择创建密匙

    ls /etc/ssh/ssh_host_* #检查密匙是否存在
    #接下来的语句用来生成密匙
    sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
    sudo ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
    sudo ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
    

    在这里插入图片描述

    大家如果还是不行,可以关闭Ubuntu再试一次,我重新开一次就成功了(具体原因我也不知道)
    在这里插入图片描述
    截至目前,Ubuntu的SSH服务已经开启。

实现文件传输

    使用 SSH 连接其他计算机需要知道该计算机的 IP 地址和 SSH 登录名。在这里,我们需要连接Ubuntu中的虚拟机,因此,在Ubuntu中可以使用以下命令查看当前计算机的 IP 地址:

ip addr

在这里插入图片描述
    如图所示,我们查询到了两个IP地址,其中:

        lo (Loopback interface) 是本地回环接口地址,通常是 127.0.0.1 和 10.255.255.254。这些地址是计算机与自己通信时使用的,通常不用于与其他设备进行通信。

        eth0 (Ethernet interface)是当前计算机的网络接口地址,即用于与其他设备进行通信的 IP 地址。这里我选择IP地址 172.19.135.221 进行通信。

    接下来我们打开FileZilla,创建与Ubuntu虚拟机的连接。点击左上角 文件 -> 站点管理, 创建新站点。

在这里插入图片描述
    按照红色框中的信息填写,填写完成后选择连接,其中:
        协议:选择SFTP.
        主机:填写刚才我们查询的IP地址
        端口:22(这个是SFTP的默认端口)
        用户和密码:需要对应你的虚拟机

在这里插入图片描述
    这里已经表示连接成功了,接下来,把你要从本地上传至Ubuntu的文件。从左边文件夹往右边文件夹拖动即可完成传输。
在这里插入图片描述

相关文章:

  • Qt/C++开发监控GB28181系统/获取设备信息/设备配置参数/通道信息/设备状态
  • IOS 国际化词条 Python3 脚本
  • Python实例题:ebay在线拍卖数据分析
  • C#中winform窗体如何捕获键盘按键事件
  • 处理pdf文件的常用库unstructured和PyPDF2
  • centos上安装python的3.13版本
  • SpringBoot、微服务与AI场景题深度解析
  • 【Unity】使用LitJson保存和读取数据的例子
  • 微信小程序封装选择年月日时分秒组件
  • 基于 STM32 的智慧图书馆智能控制系统设计与实现
  • 什么是缓存?在NGINX中如何配置缓存以提升性能?
  • LSTM预测模型
  • JavaScript性能优化实战:从基础到高级的全面指南
  • MySQL 8.4.4 安全升级指南:从漏洞修复到版本升级全流程解析
  • AWS SQS 队列策略配置指南:常见错误与解决方案
  • Spring计时器StopWatch 统计各个方法执行时间和占比
  • 大前端开发——前端知识渐变分层讲解 利用金字塔原理简化前端知识体系
  • 测试基础笔记第十六天
  • JAVA---集合ArrayList
  • 虹科新品 | 汽车通信新突破!PCAN-XL首发上线!
  • 贵州茅台一季度净利268亿元增长11.56%,系列酒营收增近两成
  • 杨国荣︱学术上的立此存照——《故旧往事,欲说还休》读后
  • 俄罗斯总统普京:5月8日零时至11日零时实施停火
  • 北美票房|《罪人》遭媒体唱衰,好莱坞业内人士集体反击
  • 广州海关原党委委员、副关长刘小威被开除党籍
  • 周口一乡镇公务员“被老赖”,两年4场官司均败诉,市监局将线索移送公安厅