通过SFTP进行文件操作示例

简介: 如图1所示,终端PC与设备路由可达,10.136.23.4是设备的管理网口IP地址。用户希望在终端与设备之间进行安全的文件传输操作,以防止普通FTP服务带来的“中间人”攻击和一些网络欺骗(DNS欺骗和IP欺骗)。将设备配置为SSH服务器,提供SFTP服务,服务器通过对客户端的认证和双向的数据加密,实现用户对安全文件传输操作的要求。



通过SFTP进行文件操作示例

组网图形

图1 配置通过SFTP进行文件操作组网图


  • 通过SFTP进行文件操作简介
  • 配置注意事项
  • 组网需求
  • 配置思路
  • 操作步骤
  • 配置文件

通过SFTP进行文件操作简介

配置设备作为SFTP服务器,用户可以在终端通过SFTP通信方式,利用SSH协议提供的安全通道与远端设备进行安全连接。通过SFTP进行文件操作的方式对数据进行了严格加密和完整性保护,安全性高,而且可以同时在设备上配置SFTP功能和普通FTP功能。

通过SFTP进行文件操作适用于对网络安全性要求高的场景,可以用于日志下载、配置文件备份等业务。

配置注意事项

  • 在配置通过SFTP进行文件操作之前,需要完成以下任务:
  • 终端与设备之间有可达路由。
  • 终端上已安装SSH客户端软件。
  • 使用SFTP V1协议存在安全风险,建议使用SFTP V2或FTPS方式进行文件操作。
  • 本举例适用于S系列交换机所有产品的所有版本。


以下涉及的命令行及回显信息以V200R008C00版本的S5720-EI交换机为例。

组网需求

图1所示,终端PC与设备路由可达,10.136.23.4是设备的管理网口IP地址。用户希望在终端与设备之间进行安全的文件传输操作,以防止普通FTP服务带来的“中间人”攻击和一些网络欺骗(DNS欺骗和IP欺骗)。将设备配置为SSH服务器,提供SFTP服务,服务器通过对客户端的认证和双向的数据加密,实现用户对安全文件传输操作的要求。

配置思路

采用如下的思路配置用户通过SFTP进行文件操作:

  1. 在SSH服务器端生成本地密钥对及使能SFTP服务器功能,实现在服务器端和客户端进行安全地数据交互。
  2. 配置SSH服务器端的VTY用户界面。
  3. 配置SSH用户,包括认证方式、服务类型、授权目录以及用户名和密码等。
  4. 从终端通过第三方软件OpenSSH实现访问SSH服务器。

操作步骤

  1. 在服务器端生成本地密钥对,并使能SFTP服务器功能。

<HUAWEI> system-view

[HUAWEI] sysname SSH_Server

[SSH_Server] dsa local-key-pair create   //生成本地DSA密钥对。

Info: The key name will be: SSH_Server_Host_DSA.                                                                                

Info: The key modulus can be any one of the following : 1024, 2048.                                                            

Info: If the key modulus is greater than 512, it may take a few minutes.                                                            

Please input the modulus [default=2048]:   //直接回车,使用缺省密钥对长度(2048位)。                                                

Info: Generating keys...                                                                                                            

Info: Succeeded in creating the DSA host keys.

[SSH_Server] sftp server enable   //使能SFTP服务器功能。

[SSH_Server] ssh server-source -i Vlanif 10    //配置服务器端的源接口为10.136.23.4对应的接口,假设该接口为Vlanif 10。

  1. 在服务器端配置VTY用户界面。

[SSH_Server] user-interface vty 0 14   //进入VTY 0~VTY 14用户界面视图。

[SSH_Server-ui-vty0-14] authentication-mode aaa   //配置VTY 0~VTY 14的用户认证方式为AAA认证。

[SSH_Server-ui-vty0-14] protocol inbound ssh   //配置VTY 0~VTY 14的用户界面支持SSH协议。

[SSH_Server-ui-vty0-14] quit

  1. 配置SSH用户,包括认证方式、服务类型、授权目录以及用户名和密码等。

[SSH_Server] ssh user client001 authentication-type password   //配置SSH用户的认证方式为密码认证。

[SSH_Server] ssh user client001 service-type sftp   //配置SSH用户的服务方式为SFTP。

[SSH_Server] ssh user client001 sftp-directory flash:   //配置SFTP服务授权目录为flash:。

[SSH_Server] aaa

[SSH_Server-aaa] local-user client001 password irreversible-cipher Helloworld@6789   //配置登录密码为Helloworld@6789。

[SSH_Server-aaa] local-user client001 privilege level 15   //配置用户级别为15级。

[SSH_Server-aaa] local-user client001 service-type SSH   //配置用户的服务方式为SSH。

[SSH_Server-aaa] quit

  1. 从终端通过OpenSSH软件实现访问SFTP服务器。只有在用户终端安装了OpenSSH软件后,Windows命令行提示符才能识别OpenSSH相关命令。

    请使用与当前终端操作系统相匹配的OpenSSH版本,否则可能会导致通过SFTP方式访问交换机失败。
    图2 访问界面
    image.png
    通过第三方软件连接设备后,进入SFTP视图,此时可以执行一系列文件操作。

配置文件

SSH_Server的配置文件

#

sysname SSH_Server

#

aaa

local-user client001 password irreversible-cipher %^%#-=9Z)M,-aLU_U%#W^1T-\}FqpeE<#HE<#HJ<6@KTSL/J'\}I-%^%#

local-user client001 privilege level 15

local-user client001 service-type ssh

#

sftp server enable

ssh user client001

ssh user client001 authentication-type password

ssh user client001 service-type sftp

ssh user client001 sftp-directory flash:

#

user-interface vty 0 14

authentication-mode aaa

#

return


相关文章
|
6月前
|
监控 算法 编译器
C++通过libssh2库获取 SFTP指定文件的最后修改时间的方法
C++通过libssh2库获取 SFTP指定文件的最后修改时间的方法
148 0
|
程序员 Python
Python文件操作和管理指南:打开、读取、写入和管理文件
Python文件操作和管理指南:打开、读取、写入和管理文件
247 0
|
JavaScript 前端开发
kettle从sftp下载多个文件并进行转换后输出
kettle从sftp下载多个文件并进行转换后输出
|
5月前
|
存储 数据库连接 数据库
如何使用Python上传文件到FTP服务器
如何使用Python上传文件到FTP服务器
75 1
|
Python
Python 文件处理指南:打开、读取、写入、追加、创建和删除文件
文件处理是任何Web应用程序的重要部分。Python有多个用于创建、读取、更新和删除文件的函数。
111 0
 Python 文件处理指南:打开、读取、写入、追加、创建和删除文件
|
编解码 数据安全/隐私保护 Python
Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理
Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理
253 0
|
对象存储 数据安全/隐私保护
OssFtp 用法
OssFtp 用法
322 0
OssFtp 用法
|
Linux Go Windows
【GO】文件读写:打开关闭+打开模式+文件权限+文件读取
【GO】文件读写:打开关闭+打开模式+文件权限+文件读取
397 0
【GO】文件读写:打开关闭+打开模式+文件权限+文件读取
|
存储 Linux 网络安全
sftp和scp的用法-本地和远程上传下载文件
sftp和scp的用法-本地和远程上传下载文件
|
Linux Windows
Linux上RandomAccessFile访问FTP文件出错
Linux上RandomAccessFile访问FTP文件出错
167 0