macOS 환경에서 Linux 서버로 인증서와 같은 중요한 파일을 옮겨야 할 때가 있습니다. 인증서는 서버 보안, 암호화 통신 등에 사용되는 민감한 정보이므로 전송 과정에서의 보안이 매우 중요합니다. 이 가이드에서는 macOS에서 Linux로 인증서 파일을 안전하게 전송하는 몇 가지 방법을 소개합니다.
사전 준비 사항
파일 전송을 시작하기 전에 다음 사항들이 준비되었는지 확인하세요.
-
네트워크 연결: macOS 컴퓨터와 Linux 서버가 동일 네트워크에 있거나, 인터넷을 통해 서로 통신할 수 있어야 합니다.
-
SSH 접속 정보: Linux 서버의 IP 주소 또는 호스트 이름, 사용자 계정 이름, 그리고 비밀번호 또는 SSH 키가 필요합니다.
-
SSH 서버 실행: Linux 서버에서 SSH 서비스 (
sshd)가 실행 중이어야 합니다. 대부분의 Linux 배포판에는 기본적으로 설치되어 활성화되어 있습니다. -
터미널 접근: macOS에서는 ‘터미널(Terminal)’ 앱을 사용하여 명령어 기반 작업을 수행합니다.
방법 1: scp (Secure Copy) 명령어 사용
scp는 SSH 프로토콜을 기반으로 파일을 안전하게 복사하는 명령어입니다. 터미널에서 간단한 명령어로 파일을 전송할 수 있어 많이 사용됩니다.
작동 방식: scp는 로컬 시스템과 원격 시스템 간, 또는 두 원격 시스템 간에 파일을 암호화하여 전송합니다.
사용법 (macOS에서 Linux로 파일 전송):
scp [옵션] /경로/내/인증서파일.crt 사용자명@리눅스서버IP:/원격/저장/경로
예시:
로컬 macOS의 /Users/myuser/certs/mycert.pem 파일을 IP 주소가 192.168.1.100인 Linux 서버의 linuxuser 사용자 홈 디렉터리 아래 certs 폴더로 전송하는 경우:
scp /Users/myuser/certs/mycert.pem linuxuser@192.168.1.100:~/certs/
Linux 서버의 SSH 포트가 기본 포트(22)가 아닌 다른 포트(예: 2222)를 사용한다면 -P 옵션 (대문자 P)을 사용합니다:
scp -P 2222 /Users/myuser/certs/mycert.pem linuxuser@192.168.1.100:~/certs/
명령을 실행하면 Linux 서버 사용자의 비밀번호를 묻거나, SSH 키 인증을 사용하는 경우 자동으로 인증됩니다.
장점:
-
매우 안전함 (SSH 암호화 사용).
-
명령어 한 줄로 간단하게 전송 가능.
-
대부분의 macOS 및 Linux 시스템에 기본적으로 설치되어 있음.
단점:
- 명령줄 인터페이스에 익숙해야 함.
방법 2: sftp (SSH File Transfer Protocol) 사용
sftp는 scp와 마찬가지로 SSH 프로토콜을 기반으로 하지만, FTP와 유사한 대화형 인터페이스를 제공하여 파일 전송 및 관리를 더 유연하게 할 수 있습니다.
작동 방식: sftp는 SSH 연결을 통해 보안 채널을 설정한 후, 해당 채널을 통해 파일 목록 보기, 디렉터리 변경, 파일 업로드/다운로드 등의 작업을 수행합니다.
사용법:
-
macOS 터미널에서
sftp명령어를 사용하여 Linux 서버에 접속합니다.sftp 사용자명@리눅스서버IP(SSH 포트가 다른 경우:
sftp -P 포트번호 사용자명@리눅스서버IP) -
접속에 성공하면
sftp>프롬프트가 나타납니다. -
로컬 파일을 원격 서버로 업로드하려면
put명령어를 사용합니다.put /로컬/경로/내/인증서파일.crt /원격/저장/경로/인증서파일.crt
예시:
linuxuser@192.168.1.100 서버에 접속한 후, 로컬의 /Users/myuser/certs/mycert.pem 파일을 서버의 /home/linuxuser/certs/ 디렉터리에 업로드하는 경우:
sftp linuxuser@192.168.1.100
비밀번호를 입력하고 접속한 뒤:
sftp> put /Users/myuser/certs/mycert.pem certs/mycert.pem
sftp> exit
장점:
-
매우 안전함 (SSH 암호화 사용).
-
대화형 인터페이스로 파일 탐색 및 관리가 용이함 (
ls,cd,pwd,get,put등). -
scp보다 다양한 파일 관련 작업 가능.
단점:
scp보다 약간 더 많은 단계가 필요할 수 있음.
보안 고려 사항
인증서 파일을 전송하고 관리할 때는 다음 보안 수칙을 따르는 것이 중요합니다.
-
최소 권한 원칙: Linux 서버에 파일을 저장한 후, 해당 인증서 파일의 권한을 적절히 설정하여 필요한 사용자나 서비스만 접근할 수 있도록 합니다. 일반적으로
chmod 400또는chmod 600과 같이 소유자만 읽거나 쓸 수 있도록 설정합니다.chmod 600 /경로/내/인증서파일.crt -
파일 무결성 확인: 파일이 전송 중에 손상되지 않았는지 확인하기 위해 원본 파일과 전송된 파일의 체크섬(checksum, 예: MD5, SHA256)을 비교할 수 있습니다.
-
macOS에서 체크섬 생성:
shasum -a 256 /경로/내/인증서파일.crt -
Linux에서 체크섬 생성:
sha256sum /경로/내/인증서파일.crt
두 결과가 동일해야 합니다.
-
-
SSH 보안 강화:
-
가능하다면 비밀번호 인증 대신 SSH 키 기반 인증을 사용합니다.
-
SSH 서버의 포트를 기본 포트(22)에서 다른 포트로 변경하는 것을 고려합니다.
-
Fail2Ban과 같은 도구를 사용하여 무차별 대입 공격을 방지합니다.
-
결론
macOS에서 Linux로 인증서 파일을 전송하는 가장 안전하고 권장되는 방법은 scp 또는 sftp를 사용하는 것입니다. 이 두 방법은 SSH를 통해 암호화된 연결을 제공하므로 전송 중 데이터가 노출될 위험을 최소화합니다. 상황과 편의에 따라 적절한 방법을 선택하되, 항상 보안을 최우선으로 고려해야 합니다.