집에 위치한 Mac Mini서버로 외부에서 SSH로 접근하기 위한 A~Z 설정 가이드
집이나 사무실에 설치된 Mac Mini에 카페나 외부에서 접속하고 싶었던 적이 있으신가요? 이 글에서는 일반인과 초보 개발자도 쉽게 따라할 수 있도록, Mac Mini를 외부 네트워크에서 SSH로 안전하게 접속하는 방법을 단계별로 상세히 설명합니다. 포트포워딩부터 DDNS 설정, 공개키 인증까지 모든 과정을 친절하게 안내해 드립니다.
"SSH는 카페의 노트북과 집의 Mac Mini를 암호화된 터널로 연결해줍니다"
목 차
1. SSH란 무엇인가요?
SSH(Secure Shell)는 네트워크를 통해 다른 컴퓨터에 안전하게 접속할 수 있게 해주는 프로토콜입니다. 마치 멀리 떨어진 컴퓨터 앞에 직접 앉아서 터미널을 사용하는 것처럼, 원격지에서 명령어를 입력하고 파일을 전송할 수 있습니다. SSH는 모든 통신 내용을 암호화하기 때문에, 중간에서 누군가가 데이터를 가로채더라도 내용을 알 수 없어서 매우 안전합니다.
macOS는 UNIX 기반 운영체제로서 OpenSSH를 기본적으로 내장하고 있어, 별도의 프로그램 설치 없이도 SSH 서버와 클라이언트를 모두 사용할 수 있습니다.
2. 외부 SSH 접속의 전체 구조 이해하기
외부에서 Mac Mini에 SSH로 접속하기 위해서는 네트워크 구조를 이해하는 것이 중요합니다.
가정이나 사무실의 인터넷 환경에서는 일반적으로 인터넷 서비스 제공업체(ISP)로부터 하나의 공인 IP 주소를 할당받고, 공유기가 이를 여러 기기에 사설 IP로 나누어 줍니다. 외부에서 특정 기기에 접속하려면, 공유기에게 "이 포트로 들어오는 연결은 저 기기로 보내줘"라고 알려주어야 하는데, 이것이 바로 포트포워딩입니다.

전체 접속 흐름도
[외부 사용자]
↓
↓ (인터넷을 통해 접속)
↓
[공인 IP 주소] ← DDNS가 이 주소를 도메인과 연결 (iptime공유기를 사용하는 경우 DDNS 설정)
↓
↓ (공유기가 포트포워딩 규칙에 따라 전달)
↓
[공유기 (라우터)]
↓
↓ (내부 네트워크로 전달)
↓
[Mac Mini (사설 IP: 192.168.0.xxx)]
이 글에서는 위 구조를 하나씩 설정해 나가면서, 최종적으로 외부에서 안전하게 Mac Mini에 접속할 수 있도록 안내합니다. 각 단계를 순서대로 따라하시면 어렵지 않게 설정을 완료하실 수 있습니다.
3. Step 1 | Mac Mini에서 원격 로그인 활성화하기
Mac Mini가 SSH 접속을 받아들이려면 먼저 원격 로그인 기능을 켜야 합니다.
macOS에서는 시스템 설정에서 간단히 활성화할 수 있으며, 활성화하면 자동으로 방화벽 규칙도 추가됩니다. 이 설정을 통해 관리자 권한을 가진 계정이 SSH로 접속할 수 있게 됩니다.
macOS Ventura 이상 버전 (macOS 13+)
- 화면 왼쪽 상단의 Apple 메뉴를 클릭합니다
- 시스템 설정을 선택합니다
- 왼쪽 사이드바에서 일반을 클릭합니다
- 공유를 클릭합니다
- 원격 로그인 항목 옆의 토글을 켜서 활성화합니다
- "원격 로그인: 켬"으로 표시되면 성공입니다

macOS Monterey 이하 버전
- 화면 왼쪽 상단의 Apple 메뉴(사과) 를 클릭합니다
- 시스템 환경설정을 선택합니다
- 공유를 클릭합니다
- 왼쪽 목록에서 원격 로그인에 체크합니다
- 오른쪽에 "원격 로그인: 켬"이 표시되면 성공입니다
터미널에서 확인하기
터미널을 열고 아래 명령어를 입력하면 원격 로그인 상태를 확인할 수 있습니다:
sudo systemsetup -getremotelogin
# Password:
# Remote Login: On
결과가 Remote Login: On으로 나오면 정상적으로 활성화된 것입니다. 만약 터미널에서 직접 원격 로그인을 켜고 싶다면 아래 명령어를 사용합니다:
sudo systemsetup -setremotelogin on
4. Step 2 | Mac Mini에 고정 IP 할당하기
포트포워딩을 설정하려면 Mac Mini의 내부 IP 주소가 바뀌지 않아야 합니다. 공유기의 DHCP 기능은 기기가 연결될 때마다 자동으로 IP를 할당하는데, 이 과정에서 Mac Mini의 IP가 변경되면 포트포워딩 설정이 무용지물이 됩니다. 따라서 Mac Mini에 고정 IP를 할당하는 것이 필수적입니다.
Mac Mini의 MAC 주소 확인하기
터미널에서 아래 명령어로 MAC 주소를 확인할 수 있습니다:
ifconfig en0 | grep ether
ether 66:c1:5c:93:55:xx # MAC 주소 결과값
유선 연결의 경우 en0, 무선 연결의 경우 en1이 일반적이지만, 기기마다 다를 수 있으므로 ifconfig 명령어로 전체 목록을 확인하시는 것이 좋습니다.
방법 1: 공유기에서 DHCP 예약 설정 (권장)
대부분의 공유기는 특정 기기의 MAC 주소에 고정 IP를 예약할 수 있는 기능을 제공합니다. 이 방법이 가장 안정적이고 권장되는 방식입니다.
ipTIME 공유기 기준:
- 웹 브라우저에서 192.168.0.1로 접속합니다 (실제 환경에서 다르게 게이트웨이가 설정되었다면, 해당 주소를 입력)
- 관리자 계정으로 로그인합니다 (기본값: admin/admin)
- 고급 설정 → 네트워크 관리 → 내부 네트워크 설정으로 이동합니다
- 수동 IP 할당 설정 영역을 찾습니다
- Mac Mini의 MAC 주소를 입력하고 원하는 IP(예: 192.168.0.100)를 지정합니다
- 추가 및 적용 버튼을 클릭합니다
방법 2: Mac Mini에서 직접 고정 IP 설정
- 시스템 설정 → 네트워크로 이동합니다
- 사용 중인 네트워크 연결(이더넷 또는 Wi-Fi)을 선택합니다
- 세부사항 버튼을 클릭합니다
- TCP/IP 탭에서 IPv4 구성을 수동으로 변경합니다
- 다음 정보를 입력합니다:
- IP 주소: 192.168.0.100 (예시)
- 서브넷 마스크: 255.255.255.0
- 라우터: 192.168.0.1 (공유기 주소)
- 확인을 클릭하여 저장합니다
5. Step 3 | 공유기에서 포트포워딩 설정하기
포트포워딩은 외부에서 들어오는 특정 포트의 연결 요청을 내부 네트워크의 특정 기기로 전달하는 기능입니다. SSH는 기본적으로 22번 포트를 사용하므로, 외부에서 22번 포트로 들어오는 요청을 Mac Mini로 전달하도록 설정해야 합니다. 보안상의 이유로 외부 포트는 22번이 아닌 다른 포트(예: 2222, 50022 등)를 사용하는 것을 강력히 권장합니다.
ipTIME 공유기 포트포워딩 설정
- 웹 브라우저에서 192.168.0.1로 접속합니다
- 관리자 계정으로 로그인합니다
- 관리도구를 클릭합니다
- 고급 설정 → NAT/라우터 관리 → 포트포워드 설정으로 이동합니다
- 새 규칙 추가를 클릭합니다
- 다음과 같이 입력합니다:
- 규칙 이름: MacMini_SSH
- 프로토콜: TCP
- 외부 포트: 50022 (보안을 위해 22번 대신 다른 포트 사용)
- 내부 IP 주소: 192.168.0.100 (Mac Mini의 고정 IP)
- 내부 포트: 22
- 적용 버튼을 클릭합니다
- 저장/수정 버튼을 클릭하여 설정을 완료합니다

KT 공유기 포트포워딩 설정
KT 공유기를 사용하시는 경우, 설정 방법이 약간 다릅니다:
- 웹 브라우저에서 172.30.1.254로 접속합니다
- 기본 로그인 정보로 접속합니다 (아이디: ktuser, 비밀번호: homehub)
- 장치설정 → 트래픽 관리 → 포트포워딩 설정으로 이동합니다
- 외부 포트, 내부 IP 주소, 내부 포트를 입력합니다
- 프로토콜은 TCP를 선택합니다
- 추가 버튼을 클릭하여 저장합니다
포트포워딩 개념 이해하기
포트포워딩을 이해하기 쉽게 비유하자면, 공유기는 큰 아파트 건물의 안내 데스크와 같습니다. 외부에서 "50022호실로 가고 싶어요"라고 하면, 안내 데스크(공유기)가 "아, 그러면 내부의 100동 22호실(192.168.0.100:22)로 가세요"라고 안내해주는 것입니다. 이렇게 외부 포트와 내부 포트를 다르게 설정하면 보안에도 도움이 됩니다.
6. Step 4 | DDNS 설정으로 도메인 주소 만들기
대부분의 가정용 인터넷은 유동 IP를 사용합니다. 이는 인터넷 연결을 새로 할 때마다 공인 IP 주소가 바뀔 수 있다는 의미입니다. 매번 바뀌는 IP 주소를 외우고 다니는 것은 현실적으로 불가능하므로, DDNS(Dynamic Domain Name System)를 사용하여 기억하기 쉬운 도메인 주소를 만듭니다. ipTIME 공유기는 무료 DDNS 서비스를 제공하므로 쉽게 설정할 수 있습니다.
ipTIME DDNS 설정하기
- 공유기 관리 페이지(192.168.0.1)에 접속합니다
- 관리도구 → 고급 설정 → 특수기능 → DDNS 설정으로 이동합니다
- 다음 정보를 입력합니다:
- 호스트 이름: 원하는 이름 (예: mymacmini)
- 사용자 ID: 이메일 주소
- 추가 버튼을 클릭합니다
- 잠시 후 접속 상태가 "정상 등록"으로 바뀌면 성공입니다
이제 mymacmini.iptime.org라는 주소로 집의 공유기에 접근할 수 있게 됩니다. IP 주소가 바뀌더라도 DDNS가 자동으로 새 IP를 추적하므로, 항상 같은 도메인 주소로 접속할 수 있습니다.
공유기 외부 접속 포트 설정
DDNS 설정과 함께, 외부에서 공유기 관리 페이지에도 접속할 수 있도록 설정해두면 편리합니다:
- 보안 기능 → 공유기 접속/보안관리로 이동합니다
- 원격 관리 포트 사용에 체크합니다
- 원하는 포트 번호를 입력합니다 (예: 8888)
- 적용을 클릭합니다
이제 mymacmini.iptime.org:8888로 외부에서 공유기 관리 페이지에 접속할 수 있습니다.
DDNS 등록 확인하기
터미널에서 다음 명령어로 DDNS가 제대로 등록되었는지 확인할 수 있습니다:
nslookup mymacmini.iptime.org
결과로 나오는 IP 주소가 현재 공인 IP와 일치하면 정상적으로 설정된 것입니다.
7. Step 5 | 외부에서 SSH 접속 테스트하기
모든 설정이 완료되었다면, 이제 외부에서 SSH 접속이 되는지 테스트해볼 차례입니다. 중요한 점은 같은 네트워크(같은 공유기에 연결된 상태)에서는 외부 접속 테스트가 제대로 되지 않을 수 있다는 것입니다. 반드시 다른 네트워크(예: 스마트폰의 LTE/5G 테더링, 다른 장소의 Wi-Fi)에서 테스트해야 합니다.
접속 테스트 방법
외부 네트워크에 연결된 컴퓨터나 스마트폰에서 터미널(또는 SSH 클라이언트)을 열고 다음 명령어를 입력합니다:
ssh -p 50022 사용자이름@mymacmini.iptime.org
- -p 50022: 포트포워딩에서 설정한 외부 포트 번호입니다
- 사용자이름: Mac Mini에서 사용하는 macOS 계정 이름입니다
- mymacmini.iptime.org: DDNS에서 설정한 도메인 주소입니다
첫 접속 시 나타나는 메시지
처음 접속할 때는 아래와 같은 메시지가 나타납니다:
The authenticity of host '[mymacmini.iptime.org]:50022' can't be established.
ED25519 key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXX.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
이 메시지는 처음 접속하는 서버의 신원을 확인하는 것입니다. yes를 입력하면 해당 서버의 공개키가 ~/.ssh/known_hosts 파일에 저장되고, 다음 접속부터는 이 메시지가 나타나지 않습니다. 비밀번호를 입력하면 접속이 완료됩니다.
접속이 안 될 때 확인사항
접속이 되지 않는다면 다음 사항들을 순서대로 확인해보세요:
- Mac Mini의 원격 로그인이 활성화되어 있는지 확인합니다
- Mac Mini의 IP 주소가 포트포워딩 설정과 일치하는지 확인합니다
- 공유기의 포트포워딩 규칙이 올바르게 설정되어 있는지 확인합니다
- DDNS가 "정상 등록" 상태인지 확인합니다
- 외부 네트워크(LTE 등)에서 테스트하고 있는지 확인합니다
8. Step 6 | SSH 공개키 인증 설정하기 (보안 강화)
비밀번호만으로 SSH 접속을 허용하면 무차별 대입 공격(Brute Force Attack)에 취약합니다. 공개키 인증 방식을 사용하면 개인키 파일을 가진 사용자만 접속할 수 있어 보안이 크게 향상됩니다. 이 방식은 비밀번호를 입력하지 않아도 되므로 편의성도 높아집니다.
공개키 인증의 원리
공개키 암호화는 수학적으로 연결된 두 개의 키(공개키와 개인키)를 사용합니다. 공개키로 암호화한 것은 개인키로만 복호화할 수 있고, 그 반대도 마찬가지입니다. 서버에 공개키를 등록해두면, 접속 시 클라이언트가 개인키를 가지고 있는지 확인하는 과정을 통해 인증이 이루어집니다. 개인키는 절대로 외부에 공개되어서는 안 됩니다.
SSH 키 쌍 생성하기
접속하려는 클라이언트(예: 노트북)의 터미널에서 다음 명령어를 실행합니다 (대부분 한 번이라도 SSH를 사용했더라면, 자동으로 생성되어 있을겁니다):
ssh-keygen -t ed25519 -C "MacMini 접속용 SSH 키"
# 생성 위치
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/username/.ssh/id_ed25519):
# 생성 결과
-----BEGIN OPENSSH PRIVATE KEY-----
bBlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QNTUxOQAAACBGztk78KN6cv+PGjZVh/VYq5TxTWl7IJ4AdwD+NIfcVQAAAJj7Dqic+w6o
nAAAAtzc2gtZWQyNTUxOQAAACBGztk78KN6cv+PGjZVh/VYq5TxTWl7IJ4AdwD+NIfcVQ
AAECMlPxEbS8IxsxougCCfocI5hSPwaarMI59aV0cophm6kbO2Tvwo3py/48aNlWH9Vir
변형된 키로 재사용 할 수 없습니다 xVAAAAEHdvb3N1bEBnbWFpbC5jb20BAgMEBQ==
-----END OPENSSH PRIVATE KEY-----
- -t ed25519: Ed25519 알고리즘을 사용합니다 (RSA보다 안전하고 빠름)
- -C "설명": 키를 구분하기 위한 설명(코멘트)입니다
실행하면 다음과 같은 질문이 나옵니다:
Enter file in which to save the key (/Users/사용자/.ssh/id_ed25519):
기본 경로를 사용하려면 그냥 Enter를 누릅니다. 다른 이름을 원하면 원하는 경로를 입력합니다.
Enter passphrase (empty for no passphrase):
passphrase는 개인키를 한 번 더 암호화하는 비밀번호입니다. 보안을 위해 설정하는 것을 권장합니다. 설정하지 않으려면 Enter를 두 번 누릅니다.
키 생성이 완료되면 ~/.ssh/ 디렉토리에 두 개의 파일이 생성됩니다:
- id_ed25519: 개인키 (절대 공개하면 안 됨)
- id_ed25519.pub: 공개키 (서버에 등록할 키)
공개키를 Mac Mini에 등록하기
생성된 공개키를 Mac Mini에 등록해야 합니다. ssh-copy-id 명령어를 사용하면 간편합니다:
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 50022 사용자이름@mymacmini.iptime.org
## 공개키 복사 결과
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: \
"/Users/사용자이름/.ssh/id_ed25519.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), \
to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed \
-- if you are prompted now it is to install the new keys
(사용자이름@mymacmini.iptime.org) Password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh -i /Users/사용자이름/.ssh/id_ed25519 -p 50022 'denny@play.peaknine.io'"
and check to make sure that only the key(s) you wanted were added.
비밀번호를 입력하면 공개키가 Mac Mini의 ~/.ssh/authorized_keys 파일에 자동으로 추가됩니다.
수동으로 공개키 등록하기
ssh-copy-id를 사용할 수 없는 환경이라면 수동으로 등록할 수 있습니다:
클라이언트에서 공개키 내용 복사:
cat ~/.ssh/id_ed25519.pub
출력된 내용을 복사합니다.
Mac Mini에서 authorized_keys에 추가:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "복사한 공개키 내용" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
키 인증으로 접속하기
이제 비밀번호 없이 키 인증으로 접속할 수 있습니다:
ssh -p 50022 -i ~/.ssh/id_ed25519 사용자이름@mymacmini.iptime.org
passphrase를 설정했다면 passphrase를 입력해야 합니다.
macOS에서 Keychain에 passphrase 저장하기
매번 passphrase를 입력하는 것이 번거롭다면, macOS의 Keychain에 저장할 수 있습니다:
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
이렇게 하면 이후에는 passphrase를 다시 입력하지 않아도 됩니다.
9. SSH Config 파일로 편리하게 접속하기
매번 긴 SSH 명령어를 입력하는 것은 번거롭습니다. ~/.ssh/config 파일을 설정하면 간단한 별칭으로 접속할 수 있습니다. 이 설정은 접속 정보를 미리 저장해두어, 복잡한 옵션 없이도 쉽게 연결할 수 있게 해줍니다.
SSH Config 파일 생성 및 편집
터미널에서 다음 명령어로 config 파일을 열거나 생성합니다:
nano ~/.ssh/config
또는 원하는 텍스트 에디터를 사용하셔도 됩니다.
Config 파일 내용 작성
다음 내용을 입력합니다:
Host macmini
HostName mymacmini.iptime.org
Port 50022
User 사용자이름
IdentityFile ~/.ssh/id_ed25519
AddKeysToAgent yes
UseKeychain yes
각 항목의 의미는 다음과 같습니다:
- Host macmini: 접속할 때 사용할 별칭입니다
- HostName: 실제 접속할 주소(DDNS 도메인)입니다
- Port: SSH 포트 번호입니다
- User: 접속할 사용자 계정입니다
- IdentityFile: 사용할 개인키 파일 경로입니다
- AddKeysToAgent: ssh-agent에 키를 자동 추가합니다
- UseKeychain: macOS Keychain을 사용합니다
간편하게 접속하기
이제 다음과 같이 간단히 접속할 수 있습니다:
ssh macmini
복잡한 옵션들을 모두 기억할 필요 없이, config 파일에 저장된 설정이 자동으로 적용됩니다.
여러 서버 설정 예시
여러 서버에 접속해야 한다면, config 파일에 여러 호스트를 추가할 수 있습니다:
# 집의 Mac Mini
Host macmini
HostName mymacmini.iptime.org
Port 50022
User john
IdentityFile ~/.ssh/id_ed25519
# 회사 서버
Host work-server
HostName work.example.com
Port 22
User john.doe
IdentityFile ~/.ssh/id_work
# AWS EC2 인스턴스
Host aws-dev
HostName ec2-xx-xxx-xxx-xxx.compute.amazonaws.com
Port 22
User ubuntu
IdentityFile ~/.ssh/aws-key.pem
10. 보안 권장사항
외부에서 SSH 접속을 허용하면 편리하지만, 그만큼 보안 위험도 증가합니다. 실제로 22번 포트를 열어두면 한 시간도 안 되어 수십 건의 무차별 접속 시도가 발생하기도 합니다. 다음 권장사항들을 반드시 적용하여 안전하게 서버를 운영하시기 바랍니다.
필수 보안 설정
- 기본 포트(22번) 사용하지 않기: 외부 포트를 49152~65535 사이의 임의의 숫자로 변경합니다. 이 범위는 동적/개인 포트로, 다른 서비스와 충돌할 가능성이 낮습니다.
- 공개키 인증 사용하기: 비밀번호 인증보다 공개키 인증이 훨씬 안전합니다. 가능하다면 비밀번호 인증을 완전히 비활성화하는 것을 권장합니다.
- 강력한 비밀번호 사용: 비밀번호 인증을 사용한다면, 최소 12자 이상의 복잡한 비밀번호를 설정합니다.
- 방화벽 설정: macOS의 방화벽을 활성화하고, 필요한 포트만 허용합니다.
비밀번호 인증 비활성화 (선택사항)
공개키 인증이 정상 작동하는 것을 확인한 후, 비밀번호 인증을 비활성화할 수 있습니다:
sudo nano /etc/ssh/sshd_config
다음 설정을 찾아 변경합니다:
PasswordAuthentication no
ChallengeResponseAuthentication no
SSH 서비스를 재시작합니다:
sudo launchctl stop com.openssh.sshd
sudo launchctl start com.openssh.sshd
주의: 비밀번호 인증을 비활성화하기 전에, 공개키 인증이 정상 작동하는지 반드시 확인하세요. 그렇지 않으면 SSH 접속이 완전히 불가능해질 수 있습니다.
추가 보안 팁
- 정기적으로 macOS 업데이트를 적용하여 보안 패치를 유지합니다
- 접속 로그를 주기적으로 확인합니다 (/var/log/system.log)
- 필요하지 않을 때는 원격 로그인을 비활성화해 두는 것도 좋습니다
- Fail2Ban과 같은 침입 방지 도구를 설치하는 것도 고려해볼 수 있습니다
11. 자주 발생하는 문제와 해결방법
SSH 외부 접속 설정 과정에서 여러 가지 문제가 발생할 수 있습니다. 아래는 자주 발생하는 문제들과 그 해결 방법을 정리한 것입니다. 문제가 발생했을 때 차근차근 확인해보시면 대부분 해결할 수 있습니다.
문제 1: Connection refused 오류
ssh: connect to host mymacmini.iptime.org port 50022: Connection refused
- Mac Mini의 원격 로그인이 비활성화되어 있을 수 있습니다 → 시스템 설정에서 활성화합니다
- 포트포워딩이 제대로 설정되지 않았을 수 있습니다 → 공유기 설정을 다시 확인합니다
- Mac Mini의 방화벽이 SSH를 차단하고 있을 수 있습니다 → 방화벽 설정을 확인합니다
문제 2: Connection timed out 오류
ssh: connect to host mymacmini.iptime.org port 50022: Connection timed out
- DDNS 주소가 올바른 IP로 연결되지 않을 수 있습니다 → nslookup 명령어로 확인합니다
- ISP(인터넷 제공업체)가 해당 포트를 차단했을 수 있습니다 → 다른 포트로 변경해봅니다
- 공유기 앞에 또 다른 라우터(이중 NAT)가 있을 수 있습니다 → 네트워크 구조를 확인합니다
문제 3: Permission denied 오류
Permission denied (publickey,password).
- 비밀번호가 틀렸을 수 있습니다 → 정확한 비밀번호를 입력합니다
- 사용자 이름이 틀렸을 수 있습니다 → macOS 계정 이름을 확인합니다
- 공개키 인증 설정에 문제가 있을 수 있습니다 → authorized_keys 파일의 권한을 확인합니다
문제 4: 내부 네트워크에서 외부 주소로 접속 안 됨
같은 공유기에 연결된 상태에서 DDNS 주소로 접속이 안 되는 경우가 있습니다. 이는 NAT Loopback(Hairpin NAT)을 지원하지 않는 공유기에서 발생합니다. 이 경우, 내부에서는 내부 IP로 접속하고 외부에서만 DDNS 주소를 사용해야 합니다.
문제 5: 키 파일 권한 오류
Permissions 0644 for '/Users/user/.ssh/id_ed25519' are too open.
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
chmod 700 ~/.ssh
SSH는 보안상의 이유로 개인키 파일의 권한이 너무 열려있으면 사용을 거부합니다.
문제 6: Host key verification failed
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
이 경고는 서버의 호스트 키가 이전에 저장된 것과 다를 때 나타납니다. Mac Mini를 재설치했거나 IP가 변경된 경우 발생할 수 있습니다.
ssh-keygen -R "[mymacmini.iptime.org]:50022"
이 명령어로 이전에 저장된 호스트 키를 삭제한 후 다시 접속하면 됩니다.
12. 핵심 내용 요약
이 글에서는 Mac Mini를 외부 네트워크에서 SSH로 접속하는 방법을 단계별로 살펴보았습니다. 원격 로그인 활성화부터 포트포워딩, DDNS 설정, 그리고 공개키 인증까지, 모든 과정을 완료하셨다면 이제 어디서든 안전하게 Mac Mini에 접속할 수 있습니다. 처음에는 복잡해 보일 수 있지만, 한 번 설정해두면 매우 편리하게 사용할 수 있습니다.
핵심 내용 요약
- 원격 로그인 활성화: 시스템 설정 → 공유 → 원격 로그인 켜기
- 고정 IP 할당: Mac Mini의 IP가 바뀌지 않도록 설정
- 포트포워딩: 외부 포트(예: 50022)를 Mac Mini의 22번 포트로 연결
- DDNS 설정: 기억하기 쉬운 도메인 주소 생성
- 공개키 인증: 비밀번호 대신 키 파일로 안전하게 인증
- SSH Config: 간편한 접속을 위한 설정 파일 작성
다음 단계 제안
SSH 접속 설정을 완료하셨다면, 다음과 같은 활용을 시도해보시는 것은 어떨까요:
- VS Code Remote SSH: Visual Studio Code에서 원격으로 Mac Mini의 파일을 편집하고 개발할 수 있습니다
- SCP/SFTP: 파일을 안전하게 전송할 수 있습니다
- SSH 터널링: 다른 서비스들을 SSH를 통해 안전하게 접근할 수 있습니다
- 자동화 스크립트: 원격에서 백업이나 작업을 자동화할 수 있습니다
SSH는 단순한 원격 접속 도구를 넘어서, 다양한 자동화와 보안 기능의 기반이 됩니다. 이 글이 여러분의 원격 작업 환경 구축에 도움이 되었기를 바랍니다.
참고 자료
- Apple 공식 문서: 원격 컴퓨터가 Mac에 접근하도록 허용하기
- ipTIME 공식 지원: 포트포워딩 설정 가이드
- GitHub Docs: SSH 키 생성 및 ssh-agent에 추가하기
'AI 코딩' 카테고리의 다른 글
| Cloudflare Tunnel을 활용한 HTTPS 연결하기(1) - 기본편 (1) | 2026.01.22 |
|---|---|
| Claude Code Workflow Studio로 만드는 AI 워크플로우 (0) | 2026.01.01 |
| Synology NAS Docker Compose 설치에서 운영까지 (1) | 2025.12.03 |
| [Claude] Claude Code MCP 완벽 가이드 (0) | 2025.11.28 |
| [Claude] CLAUDE.md 완전 해부 - 프로젝트 관리 기반 실전 가이드 (3) | 2025.11.21 |