티스토리 뷰
요즘 파일을 옮길 때마다 보안이 걱정되더라. 서버를 관리하다 보면 누구나 한번쯤은 SFTP(보안 파일 전송 프로토콜)를 써야 할 일이 생기는데, 막상 써보면 뭔가 복잡해 보이지 않아? 나도 처음엔 마찬가지였고... SFTP로 안전하게 파일 전송하는 방법, 진짜 쉽게 알려줄게.
SFTP, 왜 써야 할까?
SFTP는 그냥 FTP랑 뭐가 다른데? 궁금할 수 있는데, 이건 아주 중요한 차이점이 있어. SFTP는 SSH 기반으로 데이터를 암호화해서 보내기 때문에, 파일을 옮길 때도 중간에 누가 훔쳐가도 볼 수 없어. FTP는 평문으로 전송해서 계정 정보나 내용이 그대로 노출될 수 있다는 점에서 위험하지. 솔직히, 지금 시대에 중요한 파일을 옮길 때 FTP는 거의 쓰면 안 돼.
내 경험상, 웹사이트나 서버 관리할 때 SFTP를 안 쓰다가 한 번 해킹당한 적이 있는데... 그 이후로는 무조건 SFTP로만 파일을 옮기고 있어. 너도 혹시 중요한 파일을 옮길 때 이런 걱정이 있다면 SFTP가 답이야.

SFTP 기본 설정: 쉬운 시작
SFTP를 쓰려면 먼저 서버에서 SSH가 열려 있어야 해. 대부분 리눅스 서버에서는 SSH가 기본적으로 켜져 있고, 포트는22야. 여기서 계정 설정을 어떻게 하냐에 따라 보안 수준이 달라져. 가장 기본은 사용자 계정에 패스워드를 설정하는 건데, 이게 보안상으론 약해서 키 인증을 쓰는 게 좋아.
키 인증은 공개키와 개인키를 써서 접속하는 건데, 손에 익기 전까지는 좀 복잡해 보일 수 있어. 근데 한번 세팅하면 패스워드 입력 없이도 접속할 수 있고, 보안도 훨씬 높아. 내 경우엔 처음에 이걸 몰라서 계속 패스워드만 썼다가, 나중에 서버에서 누군가가 이상한 로그인 시도를 하는 걸 발견해서 빠르게 키 인증으로 바꿨어.

키 인증, 직접 해보기
리눅스에서는 ssh-keygen으로 키를 생성하고, ssh-copy-id 명령어로 서버에 키를 등록하면 돼. 그래야 패스워드 없이도 SFTP로 접속할 수 있지. 이걸 하면 이제 더 이상 비밀번호를 기억할 필요도 없고, 계정이 해킹당할 위험도 크게 줄어들어. 혹시 윈도우 쓰고 있으면 PuTTY 같은 툴이 도와줘. 직접 설정해보면 생각보다 어렵지 않으니까 한번 해봐.
보안 강화: 사용자별 접근 제한
SFTP 설정할 때, 중요한 건 누구나 원하는 폴더를 마음대로 드나들지 못하게 막는 거야. 보통은 chroot 디렉터리 설정으로 특정 사용자는 자신의 폴더만 볼 수 있도록 해. 이게 안 되면 서버 전체 파일을 뒤질 수 있어. 서버를 여러 사람이 쓰거나, 외부에 파일을 제공할 때는 이 설정이 필수야.
실제로 내가 한 번 chroot 설정을 안 해서, 실수로 계정 하나를 생성했는데 그 계정으로 전체 서버 파일에 접근할 수 있었어. 급하게 다시 설정했지만, 솔직히 땀나는 경험... 누구나 할 수 있는 실수니까 주의해.

서버 설정 파일 수정
리눅스에서는 /etc/ssh/sshd_config 파일을 수정해서 SFTP 전용 사용자를 지정할 수 있어. 이 파일에서 Match User와 ChrootDirectory, ForceCommand internal-sftp 이런 옵션을 추가하면, 그 사용자는 지정된 폴더만 접근할 수 있게 돼. 나도 이 설정이 처음엔 헷갈렸는데, 지금은 필수로 써.
실수할 수 있는 보안 포인트
SFTP를 쓸 때 가장 많이 하는 실수 중 하나가 패스워드 인증을 계속 쓰는 거야. 위에서도 말했지만, 키 인증으로 바꾸는 게 가장 안전해. 또, 서버 설정을 바꾼 뒤에는 꼭 재시작을 해야 반영되니까, 그거 잊지 마. 안 그러면 설정이 안 먹힐 수 있어.
내가 경험한 또 다른 실수는, SFTP 설정 후에도 사용자 권한을 제대로 안 바꿔줘서 외부에서 접근할 수 있게 된 거야. 이렇게 실수하면 아무리 SFTP로 해도 의미 없어. 그래서 설정할 때마다 항상 로그인해서 직접 테스트해보는 걸 추천해.

요약: SFTP로 안전한 파일 전송하는 법
SFTP는 보안이 강화된 파일 전송 방법이야. FTP보다는 훨씬 안전하고, SSH 기반으로 암호화가 되니까 중요한 파일을 옮길 때는 반드시 써야 해. 키 인증과 chroot 디렉터리 설정만 잘 해도 일반적인 위험은 대부분 막을 수 있어. 이건 내 생각이고, 각자 상황에 맞게 판단해볼 문제인 것 같아.
