파일 전송을 안전하게 관리하고 싶다면, SSH 키를 사용하여 SFTP로 서버에 접속하는 방법이 매우 유용합니다. SSH(Secure Shell) 키는 보안성이 높은 인증 방식으로, 비밀번호보다 훨씬 안전하게 서버에 접근할 수 있게 해줍니다. 이 가이드는 SSH 키를 생성하고 이를 파일질라에 설정하여 안전하게 SFTP 서버에 접속하는 방법을 단계별로 쉽게 알려드리겠습니다.
SSH 키 생성하기
Windows에서 SSH 키 생성하기
Windows에서 SSH 키 생성하는 방법은 아래 순서를 따라 하시면 쉽게 할 수 있으니 참고하시기 바랍니다.
- Git Bash 설치하기: Git Bash는 Windows에서 UNIX 명령어를 사용할 수 있게 해주는 프로그램입니다. Git for Windows를 다운로드하고 설치합니다. 설치 후 Git Bash를 실행합니다.
- 키 생성 명령어 입력: Git Bash에서 다음 명령어를 입력합니다.css코드 복사
ssh-keygen -t rsa -b 4096 -C "htechtree@example.com"
-t rsa
: RSA 알고리즘을 사용하여 키를 생성합니다.-b 4096
: 4096비트 키 길이를 지정합니다.-C "your_email@example.com"
: 키에 이메일 주소를 주석으로 추가합니다.
- 키 저장 위치 선택: 기본 저장 경로는
/c/Users/your_username/.ssh/id_rsa
입니다. 다른 경로를 지정할 수도 있습니다. - 패스프레이즈 설정: 보안을 위해 패스프레이즈를 입력합니다. 패스프레이즈는 선택 사항이며, 입력하지 않으면 키를 사용할 때마다 패스프레이즈를 입력하지 않아도 됩니다.
macOS/Linux에서 SSH 키 생성하기
- 터미널 열기: macOS 또는 Linux에서 터미널을 열고 다음 명령어를 입력합니다.css코드 복사
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- 키 저장 및 패스프레이즈 설정: 기본 저장 경로와 패스프레이즈를 설정하는 과정은 Windows와 유사합니다.
SSH 공개 키를 서버에 등록하기
SSH 공개 키를 서버에 등록함으로써, 클라이언트와 서버 간의 안전한 인증을 설정할 수 있습니다.
- 공개 키 복사: 생성된 공개 키 (
id_rsa.pub
)의 내용을 복사합니다.- Windows: Git Bash에서
cat ~/.ssh/id_rsa.pub
명령어를 입력하여 공개 키를 확인하고 복사합니다. - macOS/Linux: 동일한 명령어를 사용하여 공개 키를 복사합니다.
- Windows: Git Bash에서
- 서버에 로그인: SSH를 통해 서버에 접속합니다. 예를 들어, 다음 명령어를 사용할 수 있습니다.css코드 복사
ssh your_username@your_server_ip
authorized_keys
파일에 공개 키 추가:bash코드 복사mkdir -p ~/.ssh nano ~/.ssh/authorized_keys
파일에 복사한 공개 키를 붙여넣고 저장합니다.nano
대신vi
를 사용할 수도 있습니다.- 파일 권한 설정:bash코드 복사
chmod 600 ~/.ssh/authorized_keys
이 명령어는authorized_keys
파일의 권한을 설정하여 보안을 강화합니다.
다음은 SSH Key를 이용하여 sFTP 접속하는 방법을 이해하기 쉽게 사진과 함께 설명해드리겠습니다.
SSH Key를 이용하여 sFTP 접속하기
Filezilla를 사용하여 SSH 키로 SFTP 서버에 접속하는 방법은 다음과 같습니다.
Filezilla 다운로드 및 설치
Filezilla 공식 웹사이트에서 최신 버전을 다운로드하고 설치합니다. Filezilla는 다양한 운영 체제에서 사용할 수 있는 무료 FTP 클라이언트입니다.
Filezilla 다운로드Filezilla에서 사이트 설정
파일질라 프로그램을 실행하고 상단 메뉴에서 파일(F) > 사이트 관리자(S)를 클릭하면 위와 같은 팝업이 나오게 됩니다.
① New site를 클릭하여 새로운 사이트를 설정하거나 기존 사이트를 수정할 수 있습니다.
② 프로토콜은 SFTP - SSH File Transfer Protocol을 선택합니다.
③ 호스트에는 접속할 서버의 공인 IP를 입력합니다.
④ 로그인 유형은 키파일을 선택합니다.
그리고 사용자에 접속할 계정을 입력하고, 키 파일은 찾아보기 버튼을 눌러 미리 생성해 둔 키 파일을 선택해 줍니다. 이렇게 설정하면 SSH Key를 이용해 SFTP로 서버에 접속할 수 있습니다.
암호 입력
접속 시도를 하게 되면 키 파일의 비밀번호를 묻게 되는데, 설정한 비밀번호를 ①에 입력 후 ‘확인’ 버튼을 클릭하면 안전하게 서버에 접속할 수 있습니다.
sFTP 접속 완료
접속이 완료되면 다음과 같은 화면이 나타납니다:
① 로컬 사이트: 본인 PC ② 리모트 사이트: 접속한 서버
로컬 사이트와 리모트 사이트 칸에서 마우스 우클릭을 통해 다음과 같은 작업을 할 수 있습니다:
1️⃣ 폴더 생성
2️⃣ 폴더 삭제
3️⃣ 파일 전송 (파일을 더블클릭하면 전송 가능)
이제 SSH Key를 이용해 여러분 계정으로 서버에 파일을 업로드할 수 있게 되었습니다. 단 sFTP를 이용한 파일 전송 등의 작업은 휴지통의 개념이 없이 한 번 실행하면 다시 되돌릴 수 없기 때문에, 실수를 방지하기 위해 전송 전 반드시 확인하는 습관을 들이는 것이 중요합니다.
추가적인 설정 및 문제 해결
SSH 키 파일 권한 확인
SSH 키 파일은 보안상 적절한 권한이 설정되어 있어야 합니다. 일반적으로 600 권한이 필요합니다. 이는 파일 소유자만이 읽고 쓸 수 있도록 하여 키 파일의 보안을 강화하는 것입니다.
SSH 키 파일은 사용자 계정의 중요한 인증 수단이므로, 이에 대한 접근을 엄격히 제한하는 것이 중요합니다. 권한 설정을 잘못하면 키 파일이 노출되어 시스템 보안이 위협받을 수 있습니다. 따라서 SSH 키 파일의 권한은 항상 600으로 설정하는 것이 바람직하며, 이를 통해 키 파일에 대한 무단 접근을 효과적으로 차단할 수 있습니다. 이러한 보안 조치를 통해 SSH 인증 과정의 안전성을 높일 수 있습니다.
Filezilla에서 키 파일 오류 해결
1️⃣ 키 파일 포맷: Filezilla는 PEM 형식의 키 파일만 지원합니다. PuTTYgen을 사용해 PPK 파일을 PEM으로 변환할 수 있습니다.
2️⃣ 패스프레이즈 문제: 패스프레이즈를 입력하라고 요구할 때, 키를 암호화할 때 설정한 패스프레이즈를 입력해야 합니다.
같이보면 도움되는 영상
자주 묻는 질문
Q1. SSH 키란 무엇인가요?
SSH(Secure Shell) 키는 SSH 프로토콜을 통해 서버에 안전하게 접속하기 위한 인증 수단입니다. SSH 키는 공개 키와 개인 키로 구성됩니다. 공개 키는 서버에 등록되어 사용자를 인증하고, 개인 키는 사용자만 소지하고 있어야 합니다. SSH 키를 사용하면 암호 없이도 안전하게 서버에 접속할 수 있으며, 비밀번호 유출 위험을 줄일 수 있습니다.
Q2. Filezilla는 무엇인가요?
Filezilla는 오픈 소스 FTP/FTPS/SFTP 클라이언트 프로그램입니다. Filezilla를 사용하면 파일 전송, 원격 서버 관리 등의 기능을 편리하게 수행할 수 있습니다. Filezilla는 Windows, macOS, Linux 등 다양한 운영 체제에서 사용할 수 있는 크로스 플랫폼 프로그램입니다.
Q3. SFTP란 무엇인가요?
SFTP(Secure File Transfer Protocol)는 SSH 프로토콜을 기반으로 하는 안전한 파일 전송 방식입니다. SFTP는 SSH 키를 이용해 암호화된 연결을 통해 파일을 전송할 수 있습니다. SFTP는 FTP와 달리 데이터 전송 과정에서 암호화가 이루어지므로 보안이 강화된 파일 전송 방식입니다.
Q4. SSH 키를 어떻게 생성하나요?
SSH 키는 일반적으로 SSH 클라이언트 프로그램이나 터미널에서 ssh-keygen 명령을 사용하여 생성할 수 있습니다. ssh-keygen 명령을 실행하면 공개 키와 개인 키 파일이 생성됩니다. 이때 개인 키 파일은 안전하게 보관해야 하며, 공개 키 파일은 서버에 등록해야 합니다.
Q5. SSH 키를 Filezilla에 어떻게 등록하나요?
Filezilla의 사이트 관리자에서 SSH 키 파일을 등록할 수 있습니다. 사이트 관리자에서 새로운 사이트를 추가하고, 연결 유형을 SFTP로 선택한 후 SSH 키 인증을 활성화합니다. 그리고 개인 키 파일을 선택하고 암호를 입력하면 SSH 키가 Filezilla에 등록됩니다.
Q6. SFTP 서버 접속 시 SSH 키를 어떻게 사용하나요?
Filezilla에서 SFTP 서버에 연결할 때 SSH 키 인증을 선택하면 됩니다. 사이트 관리자에서 등록한 개인 키 파일과 암호를 입력하면 안전하게 SFTP 서버에 접속할 수 있습니다. SSH 키 인증을 사용하면 암호를 입력할 필요 없이 자동으로 인증되어 편리합니다.
Q7. SSH 키 파일의 권한은 어떻게 설정해야 하나요?
SSH 키 파일의 권한은 보안상 600(읽기/쓰기 권한은 소유자만)으로 설정하는 것이 일반적입니다. 이렇게 설정하면 다른 사용자가 SSH 키 파일을 읽거나 수정할 수 없어 보안이 강화됩니다. 권한 설정은 운영 체제에 따라 다를 수 있으므로 확인이 필요합니다.
Q8. SSH 키를 사용하면 어떤 장점이 있나요?
SSH 키를 사용하면 다음과 같은 장점이 있습니다:
1️⃣ 암호 없이도 안전하게 서버에 접속할 수 있습니다.
2️⃣ 비밀번호 유출 위험을 줄일 수 있습니다.
3️⃣ 자동 인증으로 편리하게 서버에 연결할 수 있습니다.
4️⃣ 강력한 암호화로 데이터 전송 과정의 보안이 강화됩니다.
5️⃣ 개인 키 파일만 안전하게 관리하면 되므로 관리가 용이합니다.
Q9. SSH 키를 분실하면 어떻게 해야 하나요?
SSH 키를 분실하면 서버 관리자에게 연락하여 해당 키를 삭제하고 새로운 키를 등록해야 합니다. 개인 키 파일이 유출되면 서버에 대한 무단 접근이 가능하므로 즉시 조치를 취해야 합니다. 새로운 SSH 키를 생성하고 서버에 등록하는 과정을 거쳐야 합니다.
Q10. SSH 키 사용 시 주의해야 할 점은 무엇인가요?
SSH 키 사용 시 다음과 같은 점에 주의해야 합니다:
1️⃣ SSH 키 파일의 안전한 보관: 개인 키 파일은 반드시 안전한 장소에 보관해야 합니다.
2️⃣ 적절한 권한 설정: SSH 키 파일의 권한은 600으로 설정하여 다른 사용자의 접근을 차단해야 합니다.
3️⃣ 개인 키 유출 방지: 개인 키 파일이 유출되지 않도록 주의해야 합니다.
4️⃣ 정기적인 키 교체: 보안상 주기적으로 SSH 키를 교체하는 것이 좋습니다.
5️⃣ 서버 관리자와의 협조: 키 분실 시 서버 관리자와 협력하여 신속한 조치를 취해야 합니다.
마무리
Filezilla를 사용하여 SSH 키를 통해 SFTP 서버에 접속하는 방법을 알아보았습니다. SSH 키 인증을 통해 비밀번호보다 안전하게 서버에 접근할 수 있으며, 이를 통해 파일 전송의 보안을 강화할 수 있습니다.
설정 과정에서 문제가 발생하거나 도움이 필요하신 경우, 이 가이드를 참고하시거나 추가적인 자료를 찾아보세요. SSH 키와 SFTP를 활용하여 더욱 안전하고 효율적인 파일 관리를 하시기 바랍니다.
인터넷 정보 바로가기