SFTP(SSH File Transfer Protocol)는 암호화된 연결을 통해 두 호스트 간에 파일을 전송하기 위한 보안 파일 프로토콜입니다. 또한 원격 파일에서 다양한 파일 작업을 수행하고 파일 전송을 재개할 수 있습니다.
SFTP는 기존 FTP 프로토콜을 대체하는 데 사용할 수 있습니다. FTP의 모든 기능을 갖추고 있지만 보다 안전한 연결을 제공합니다.
이 문서에서는 Linux에서 기본 SFTP 포트를 변경하는 방법을 설명합니다. 또한 새 포트에서 허용하도록 방화벽을 구성하는 방법도 보여 줍니다.
SFTP와 FTPS를 혼동하지 마십시오. 두 프로토콜 모두 같은 목적을 가지고 있습니다. 그러나 FTPS는 FTP Secure의 약자로 TLS를 지원하는 표준 FTP 프로토콜에 대한 확장입니다.
SFTP에서 사용하는 포트
SFTP는 SSH의 하위 시스템이며 SSH와 동일한 수준의 보안을 제공합니다.
기본 SFTP 포트는 22입니다.
SFTP 포트를 변경
기본 SFTP/SSH 포트를 변경하면 자동 공격의 위험을 줄여 서버에 보안 계층을 추가합니다.
공격으로부터 서버를 보호하는 가장 좋은 방법은 신뢰할 수 있는 호스트에서만 포트 22에 액세스할 수 있도록 방화벽을 구성하고 SSH 키 기반 인증을 설정하는 것입니다.
다음 단계에서는 Linux 시스템에서 SSH 포트를 변경하는 방법을 설명합니다.
1. 새 포트 번호를 선택합니다.
Linux에서 1024 미만의 포트 번호는 잘 알려진 서비스를 위해 예약되어 있으며 루트로만 바인딩할 수 있습니다. SSH 서비스에 1-1024 범위 내의 포트를 사용하여 포트 할당 문제를 방지할 수 있지만 1024보다 큰 포트를 선택하는 것이 좋습니다.
이 예에서는 SFTP/SSH 포트를 4422로 변경하는 방법을 보여 주지만 원하는 포트를 선택할 수 있습니다.
2. 방화벽을 조정합니다.
SFTP/SSH 포트를 변경하기 전에 방화벽에서 새 포트를 열어야 합니다.
UBuntu의 기본 방화벽인 UFW를 사용하는 경우 다음 명령을 실행하여 포트를 엽니다.
sudo ufw allow 4422/tcp
CentOS에서 기본 방화벽 관리 도구는 FirewallD입니다. 포트를 열려면 다음 명령을 입력합니다.
sudo firewall-cmd --permanent --zone=public --add-port=4422/tcp
sudo firewall-cmd --reload
CentOS 사용자는 새 SSH 포트를 허용하도록 SELinux 규칙을 조정해야 합니다.
sudo semanage port -a -t ssh_port_t -p tcp 4422
iptables를 실행하는 다른 Linux 배포를 사용하는 경우 새 포트를 엽니다.
sudo iptables -A INPUT -p tcp --dport 4422 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
3. SFTP/SSH를 구성합니다.
SSH 서버 구성은 /etc/ssh/sshd_config 파일에 저장됩니다. 텍스트 편집기로 파일을 엽니다.
sudo vim /etc/ssh/sshd_config
포트 22로 시작하는 줄을 검색합니다. 일반적으로 이 줄은 해시(#) 기호를 사용하여 주석 처리됩니다. 해시 번호를 제거하고 새 SSH 포트 번호를 입력합니다.
# /etc/ssh/sshd_config
Port 4422
구성 파일을 편집할 때는 매우 주의해야 합니다. 구성이 올바르지 않으면 SSH 서비스를 시작하지 못할 수 있습니다.
완료되면 파일을 저장하고 SSH 서비스를 다시 시작하여 변경 내용을 적용합니다.
sudo systemctl restart ssh
CentOS에서 SSH 서비스의 이름은 sshd입니다.
sudo systemctl restart sshd
SSH 데몬이 새 포트에서 수신 중인지 확인합니다.
출력은 다음과 같습니다.
ss -an | grep 4422
# tcp LISTEN 0 128 0.0.0.0:4422 0.0.0.0:*
# tcp ESTAB 0 0 192.168.121.108:4422 192.168.121.1:57638
# tcp LISTEN 0 128 [::]:4422 [::]:*
새 SFTP 포트를 사용
포트 번호를 지정하려면 -P 옵션과 함께 sftp 명령을 호출한 다음 새 포트 번호를 호출합니다.
sftp -P 4422 username@remote_host_or_ip
GUI SFTP 클라이언트를 사용하는 경우 클라이언트 인터페이스에 새 포트를 입력하기만 하면 됩니다.
기본 SFTP 포트는 22입니다. 그러나 포트를 원하는 수로 변경할 수 있습니다.
여러 시스템에 정기적으로 연결하는 경우 SSH 구성 파일에서 모든 연결을 정의하여 워크플로우를 단순화할 수 있습니다.
'SW > 리눅스' 카테고리의 다른 글
LINUX : Ubuntu 20.04 : SSH Keys 설정 방법, 예제, 명령어 (0) | 2022.11.20 |
---|---|
Linux : CentOS 8 : Apache Cassandra 설치 방법, 예제, 명령어 (0) | 2022.11.19 |
Linux : cURL : POST 요청 방법, 예제, 명령어 (0) | 2022.11.17 |
Linux : Tar Gz 파일 생성 방법, 예제, 명령어 (0) | 2022.11.16 |
Linux : 디렉토리 이름 변경 방법, 예제, 명령어 (1) | 2022.11.15 |