目录

简介

先决条件

要求

使用的组件

备份过程

Windows作为SFTP服务器

MAC作为SFTP服务器

Linux作为SFTP服务器

备份错误

如何测试SFTP服务器上的绝对路径

简介

本文档介绍如何配置思科统一会话初始协议(SIP)代理(CUSP)10.2或更高版本，以便使用安全文件传输协议(SFTP)执行备份。

CUSP 10.2仅支持SFTP，需要使用Absolute Path，而不是每个SFTP应用程序都要处理；本文档提供了将此设置与作为SFTP服务器的三个不同平台一起设置的指导。

作者：思科TAC工程师Luis Ramirez。

先决条件

要求

Cisco 建议您了解以下主题：

- SFTP

- CUSP

- Windows 窗口版本

- Linux

- MAC

使用的组件

本文档中的信息基于以下软件版本：

- CUSP 10.2

- Windows 10

- Windows Server 2019

- 乌本图18.04

- MAC莫哈韦

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

备份过程

CUSP 10.2消除了对FTP的支持，并且仅出于安全原因允许SFTP。

通过此更改，CUSP需要绝对路径才能为备份和恢复过程进行配置，但许多Windows SFTP应用程序不处理此选项。

这些选项提供了将Windows、MAC和Linux作为SFTP服务器设置CUSP备份的步骤，以及如何设置服务器。

注意：有关CUSP 10.2备份的详细信息，请查看《Cisco Unified SIP代理版本10.2的GUI管理指南》

Windows作为SFTP服务器

最新版本的Windows 10和Windows Server 2016可以选择安装Openssh，该版本也可用于SFTP。

SFTP服务器设置。

访问系统Windows设置中的应用和功能并选择可选功能。

如果OpenSSH Client和OpenSSH Server未在列表中显示为已安装，请选择Add a feature。

查找OpenSSH客户端和OpenSSH服务器并安装它们。

注意：如果列表中未显示这些选项，请确保与Internet连接，并且Windows已安装最新更新。

安装后，打开服务并启动OpenSSH SSH服务器服务。

SFTP服务器的根文件夹是运行服务的Windows用户。

在本例中，根为C:\Users\luirami2

注意：有关此过程的详细信息，请访问Microsoft网站

CUSP配置

由于CUSP需要配置SFTP服务器的绝对路径，因此可以配置两个选项。

1. 根文件夹的绝对路径。

- sftp://SFTP服务器IP地址/C:/用户/luirami2

2. 到根内其他文件夹的绝对路径。

- sftp://SFTP服务器IP地址/C:/用户/luirami2/桌面/CUSP10.2

用户名和密码应相同，以便登录Windows帐户。

MAC作为SFTP服务器

在具有Mojave或更新版本的MAC PC上，SFTP服务器已是一个选项，但需要启用。

SFTP服务器设置。

在“系统首选项”下选择共享，然后选中“文件共享”和“远程登录”的复选框。

这些选项使SFTP具有运行服务的MAC PC用户的根文件夹。

在本示例中，根为/Users/luirami2

CUSP配置。

由于CUSP需要配置SFTP服务器的绝对路径，因此可以配置两个选项。

1. 根文件夹的绝对路径。

- sftp://SFTP服务器IP地址/用户/luirami2

2. 到根内其他文件夹的绝对路径。

- sftp://SFTP服务器IP地址/用户/luirami2/CUSP10.2

用户名和口令应相同，以便登录MAC PC帐户。

Linux作为SFTP服务器

在Linux上，需要安装SSH才能将其用作SFTP服务器。

此示例与Ubuntu 18.04一起使用。

SFTP服务器设置。

使用命令sudo apt install ssh安装SSH

root@ubuntu:~$ sudo apt install ssh Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: ssh 0 upgraded, 1 newly installed, 0 to remove and 300 not upgraded. Need to get 5,204 B of archives. After this operation, 106 kB of additional disk space will be used. Get:1 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 ssh all 1:7.6p1-4ubuntu0.3 [5,204 B] Fetched 5,204 B in 10s (506 B/s) Selecting previously unselected package ssh. (Reading database ... 128438 files and directories currently installed.) Preparing to unpack .../ssh_1%3a7.6p1-4ubuntu0.3_all.deb ... Unpacking ssh (1:7.6p1-4ubuntu0.3) ... Setting up ssh (1:7.6p1-4ubuntu0.3) …

安装后，在文档末尾使用这些更改修改/etc/ssh/sshd_config文件。

sudo vi /etc/ssh/sshd_config

Match group sftp

ChrootDirectory /home

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

使用此命令保存更改并重新启动ssh服务。

sudo service ssh restart

这些选项使SFTP具有运行服务的Linux用户的根文件夹。

在本例中，根为/home/luirami2

CUSP配置。

由于CUSP需要配置SFTP服务器的绝对路径，因此可以配置两个选项。

1. 根文件夹的绝对路径。

- sftp://SFTP服务器IP地址/home/luirami2

2. 到根内其他文件夹的绝对路径。

- sftp://SFTP服务器IP地址/home/luirami2/SFTP/CUSP10.2

用户名和口令应相同，以便登录Linux PC帐户。

备份错误

当备份或还原失败时，报告（备份历史记录或还原历史记录）下会出现错误。

所有这些错误都是客户端URL(CURL)响应，所有错误都打印返回值：但只有一些印刷品是定义。

CURL错误代码可在此找到。

如何测试SFTP服务器上的绝对路径

在Linux服务器上，CURL可以用SFTP服务器进行测试，以便了解它是了解绝对路径还是只了解缩写路径。

这五个命令可用于测试身份验证/目录列表、上传、下载、删除和目录创建。

如果用缩写路径测试，应该可以正常工作。

Authentication and Directory List

root@ubuntu:~$ curl -k "sftp://SFTP IP:22/" --user "username:pasword"

drw-rw-rw 1 root root 0 Sep 11 18:19 .

drw-rw-rw 1 root root 0 Sep 11 18:19 ..

-rw-rw-rw 1 root root 38 Sep 11 18:04 TextFile.txt

Upload a file

root@ubuntu:~$ curl -k "sftp://SFTP IP:22/" --user "username:pasword" -T "/home/TestCapture.pcap" --ftp-create-dirs

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 11.8M 0 0 100 11.8M 0 4143k 0:00:02 0:00:02 --:--:-- 4142k

100 11.8M 0 0 100 11.8M 0 4142k 0:00:02 0:00:02 --:--:-- 4142k

Download a file

root@ubuntu:~$ curl -k "sftp://SFTP IP:22/TextFile.txt" --user "username:pasword" -o "/home/TextFile.txt" --ftp-create-dirs

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 38 100 38 0 0 181 0 --:--:-- --:--:-- --:--:-- 181

100 38 100 38 0 0 181 0 --:--:-- --:--:-- --:--:-- 181

Delete a file

root@ubuntu:~$ curl -k "sftp://SFTP IP:22/" --user "username:pasword" -Q "-RM TestCapture.pcap" --ftp-create-dirs

drw-rw-rw 1 root root 0 Sep 11 18:23 .

drw-rw-rw 1 root root 0 Sep 11 18:23 ..

-rw-rw-rw 1 root root 12386208 Sep 11 18:23 TestCapture.pcap

-rw-rw-rw 1 root root 38 Sep 11 18:04 TextFile.txt

Create a Directory

root@ubuntu:~$ curl -k "sftp://SFTP IP:22/" --user "username:pasword" -Q "-MKDIR /DirectoryFolder" --ftp-create-dirs

drw-rw-rw 1 root root 0 Sep 11 18:23 .

drw-rw-rw 1 root root 0 Sep 11 18:23 ..

-rw-rw-rw 1 root root 38 Sep 11 18:04 TextFile.txt

Authentication and Directory List (TestCapture.pcap has been deleted and DirectoryFolder has been created)

root@ubuntu:~$ curl -k "sftp://SFTP IP:22/" --user "username:pasword"

drw-rw-rw 1 root root 0 Sep 11 18:24 .

drw-rw-rw 1 root root 0 Sep 11 18:24 ..

drw-rw-rw 1 root root 0 Sep 11 18:24 DirectoryFolder

-rw-rw-rw 1 root root 38 Sep 11 18:04 TextFile.txt

如果使用Absolute Path进行测试，并且SFTP服务器不接受该命令，则每个命令会因9 CURLE_REMOTE_ACCESS_DENIED 而被拒绝，则当SFTP服务器因使用Absolute Path而拒绝CURL命令时，将显示相同的错误CUSP。

CURLE_REMOTE_ACCESS_DENIED(9)

拒绝访问URL中提供的资源。对于FTP，在更改远程目录时会发生这种情况。

Authentication and Directory List

root@ubuntu:~$ curl -k "sftp://SFTP IP:22/C:/Users/Administrator/Desktop/CUSP10.2" --user "username:pasword"

curl: (9) Could not open remote file for reading: SFTP server: Permission denied

Upload a file

root@ubuntu:~$ curl -k "sftp://SFTP IP:22/C:/Users/Administrator/Desktop/CUSP10.2" --user "username:pasword" -T "/home/TestCapture.pcap" --ftp-create-dirs

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0

0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0

curl: (9) Access denied to remote resource

Download a file

root@ubuntu:~$ curl -k "sftp://SFTP IP:22/C:/Users/Administrator/Desktop/CUSP10.2/TextFile.txt" --user "username:pasword" -o "/home/TextFile.txt" --ftp-create-dirs

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0

0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0

curl: (9) Could not open remote file for reading: SFTP server: Permission denied

Delete a file

root@ubuntu:~$ curl -k "sftp://SFTP IP:22/C:/Users/Administrator/Desktop/CUSP10.2" --user "username:pasword" -Q "-RM TestCapture.pcap" --ftp-create-dirs

curl: (9) Could not open remote file for reading: SFTP server: Permission denied

Create a Directory

root@ubuntu:~$ curl -k "sftp://SFTP IP:22/C:/Users/Administrator/Desktop/CUSP10.2" --user "username:pasword" -Q "-MKDIR /DirectoryFolder" --ftp-create-dirs

curl: (9) Could not open remote file for reading: SFTP server: Permission denied