SFTP简介
SFTP利用SSH协议提供的安全通道,使得远程用户可以安全地登录设备进行文件管理和文件传送等操作,为数据传输提供了更高的安全保障。同时,由于设备支持作为客户端的功能,用户可以从本地设备安全登录到远程设备上,进行文件的安全传输。
当SFTP服务器端或是与客户端的连接存在故障时,客户端需要及时了解故障的存在,并主动断开连接。为了实现上述目标,客户端以SFTP方式登录服务器时,配置无数据接收时发送Keepalive报文的间隔时间和服务器端的无应答限制次数:
如果在指定时间间隔内未收到数据,客户端将发送Keepalive报文至服务器端。
如果服务端的无应答次数超过配置的次数,客户端将主动断开连接。
SFTP特点:
1.数据进行了严格加密和完整性保护,安全性高。
2.数据传输效率低。
3.用户终端需要安装支持SFTP客户端的第三方软件(open ssh、xshell。
4.适用于网络安全性要求高的场景。
应用场景:
随着设备的逐步稳定,应用范围在不断扩大,设备升级的范围也越来越大,设备的可维护性要求也越来越高,特别是设备在线远程加载升级。这不仅可以丰富设备升级维护手段,方便远程在线升级,还可以节约升级成本,减少客户等待升级的时间,在一定程度上提高了客户的满意度。最通用的在线升级、数据传输就是FTP。但是FTP是明文传输,甚至是明文传输用户名和密码,存在安全隐患。
而SFTP使得用户可以从远端安全的登入设备进行文件管理,增加了数据传输的安全性。同时,由于提供了Client功能,可以在本设备上SFTP到远程设备,进行文件的安全传输、在线升级。
SFTP配置示例
示例1
在本示例中,通过在SSH服务器端生成本地密钥对,并在SSH服务器端配置SSH用户的用户名和密码,使能SFTP服务,实现SFTP客户端连接SSH服务器后进行文件操作。
网络结构
如下图所示,在作为SSH服务器的设备上使能SFTP服务器功能后,SFTP客户端PC可以通过RSA、DSA、ECC、SM2、x509v3-ssh-rsa、password、password-rsa、password-ecc、password-dsa、password-sm2、password-x509v3-rsa和all认证的方式连接到SSH服务器端。
操作步骤
1.配置SFTP服务器的IP地址
<HUAWEI> system-view
[~HUAWEI] sysname SSH Server
[*HUAWEI] commit
[~SSH Server] interface GigabitEthernet0/0/0
[~SSH Server-GigabitEthernet0/0/0] undo shutdown
[*SSH Server-GigabitEthernet0/0/0] ip address 10.137.217.223 255.255.0.0
[*SSH Server-GigabitEthernet0/0/0] quit
[*SSH Server] commit
2.在服务器端配置本地用户的用户名和密码
[*SSH Server] aaa
[*SSH Server-aaa] local-user client001 password
Please configure the passward (8-128)
Enter Password:
Confirm Password:
[*SSH Server-aaa] local-user client001 level 3
[*SSH Server-aaa] local-user client001 service-type ssh
[*SSH Server-aaa] quit
[*SSH Server] commit
3.使能SFTP功能,并配置用户的服务类型为SFTP
[~SSH Server] interface LoopBack 0
[~SSH Server-LoopBack0] ip address 10.1.1.1 255.255.255.255
[*SSH Server-LoopBack0] quit
[*SSH Server] sftp server enable
[*SSH Server] ssh server-source -i loopback 0
[*SSH Server] ssh user client001
[*SSH Server] ssh user client001 authentication-type password
[*SSH Server] commit
[~SSH Server] ssh user client001 service-type sftp
[*SSH Server] commit
4.配置SSH用户的授权目录
[~SSH Server] ssh user client001 sftp-directory cfcard:/
[*SSH Server] commit
5.验证配置结果
打开客户端的SFTP软件,输入用户名、密码、端口号(默认为22),访问SSH服务器,并进行文件传输。