소개
이 문서에서는 SFTP(Secure File Transfer Protocol)로 백업을 수행하기 위해 Cisco SIP(Unified Session Initiation Protocol) Proxy(CUSP) 10.2 이상을 구성하는 방법에 대해 설명합니다.
CUSP 10.2는 SFTP만 지원하며 모든 SFTP 애플리케이션에서 처리되지 않는 절대 경로를 사용해야 합니다. 이 문서에서는 SFTP Server와 같은 세 가지 다른 플랫폼으로 이를 설정하기 위한 지침을 제공합니다.
기고자: Luis Ramirez, Cisco TAC 엔지니어
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 버전을 기반으로 합니다.
- CUSP 10.2
- Windows 10
- Windows Server 2019
- Ubuntu 18.04
- MAC 모하비
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
백업 절차
CUSP 10.2는 FTP의 지원을 없애며 보안상의 이유로 SFTP만 허용합니다.
이 변경 사항으로 CUSP는 백업 및 복원 절차를 위해 Absolute Path를 구성해야 하지만 많은 Windows SFTP 애플리케이션에서 이 옵션을 처리하지 않습니다.
이러한 옵션은 Windows, MAC 및 Linux를 SFTP 서버로 사용하는 CUSP 백업을 설정하는 단계와 서버를 설정하는 방법을 제공합니다.
참고: CUSP 10.2 백업에 대한 자세한 내용은 Cisco Unified SIP Proxy Release 10.2용 GUI 관리 설명서를 참조하십시오
Windows를 SFTP 서버로
최신 버전의 Windows 10 및 Windows Server 2016에는 SFTP에도 사용할 수 있는 Openssh를 설치하는 옵션이 있습니다.
SFTP 서버 설치.
System Windows Settings에서 Apps & features에 액세스하고 Optional features를 선택합니다.
OpenSSH Client 및 OpenSSH Server가 목록에 이미 설치된 상태로 표시되지 않으면 기능 추가를 선택합니다.
OpenSSH Client 및 OpenSSH Server를 찾아 설치합니다.
참고: 목록에 이러한 옵션이 표시되지 않으면 인터넷에 연결되어 있고 Windows에 최신 업데이트가 설치되어 있는지 확인하십시오.
설치가 완료되면 서비스를 열고 OpenSSH SSH 서버에 대한 서비스를 시작합니다.
SFTP 서버의 루트 폴더는 서비스가 실행되는 Windows 사용자입니다.
이 예에서 루트는 C:\Users\luirami2입니다.
참고: 이 프로세스에 대한 자세한 내용은 Microsoft 웹 사이트에서 확인할 수 있습니다
CUSP 컨피그레이션
CUSP를 SFTP 서버의 절대 경로로 구성해야 하므로 두 가지 옵션을 구성할 수 있습니다.
- 루트 폴더의 절대 경로입니다.
- 루트 내의 다른 폴더로 이동하는 절대 경로입니다.
사용자 이름 및 암호는 Windows 계정에 로그인하는 데 사용하는 것과 동일해야 합니다.
SFTP 서버로서의 MAC
Mojave 또는 이후 버전의 MAC PC에서 SFTP 서버는 이미 옵션이지만 활성화해야 합니다.
SFTP 서버 설치.
System Preferences(시스템 환경 설정)에서 Sharing(공유)을 선택한 다음 File Sharing(파일 공유) 및 Remote Login(원격 로그인) 확인란을 선택합니다.
이러한 옵션은 서비스가 실행되는 MAC PC 사용자의 루트 폴더로 SFTP를 활성화합니다.
이 예에서 루트는 /Users/luirami2입니다
CUSP 컨피그레이션.
CUSP를 SFTP 서버의 절대 경로로 구성해야 하므로 두 가지 옵션을 구성할 수 있습니다.
- 루트 폴더의 절대 경로입니다.
- 루트 내의 다른 폴더로 이동하는 절대 경로입니다.
사용자 이름 및 비밀번호는 MAC PC 계정에 로그인하는 데 사용하는 것과 동일해야 합니다.
SFTP 서버로서의 Linux
Linux에서 SFTP 서버로 사용하려면 SSH를 설치해야 합니다.
이 예에서는 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 서비스 ssh 다시 시작
이러한 옵션은 서비스가 실행되는 Linux 사용자의 루트 폴더를 사용하는 SFTP를 활성화합니다.
이 예에서 루트는 /home/luirami2입니다
CUSP 컨피그레이션.
CUSP를 SFTP 서버의 절대 경로로 구성해야 하므로 두 가지 옵션을 구성할 수 있습니다.
- 루트 폴더의 절대 경로입니다.
- 루트 내의 다른 폴더로 이동하는 절대 경로입니다.
Linux PC 계정에 로그인하려면 사용자 이름과 비밀번호를 동일하게 사용해야 합니다.
백업 오류
백업 또는 복원이 실패하면 Report(보고서) 아래에 Backup History(백업 기록) 또는 Restore History(복원 기록)라는 오류가 표시됩니다.
이 모든 오류는 클라이언트 URL(CURL) 응답이며, 모두 반환 값을 인쇄하지만 일부 오류만 정의를 인쇄합니다.
CURL 오류 코드는 여기에서 찾을 수 있습니다.
SFTP 서버에서 절대 경로를 테스트하는 방법
Linux 서버에서 CURL을 SFTP 서버로 테스트하여 Absolute Path(절대 경로) 또는 Abbreviated Path(축약 경로)만 이해하는지 확인할 수 있습니다.
이 다섯 가지 명령은 인증/디렉토리 목록, 업로드, 다운로드, 삭제 및 디렉토리 생성을 테스트하는 데 사용할 수 있습니다.
약식 경로로 테스트한 경우 제대로 작동합니다.
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 Server에서 이를 허용하지 않는 경우 9CURLE_REMOTE_ACCESS_DENIED 이유로 각 명령이 거부되고, 사용된 SFTP Server에서 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