본문 바로가기
Tech/AI & LLM

Mac / Mac Mini SSH 접속 설정 완전 가이드

by Hoft 2026. 3. 10.

macOS에 내장된 SSH 서버를 활성화하고, 로컬·외부 네트워크에서 안전하게 원격 접속하는 방법을 단계별로 정리합니다.


SSH란 무엇인가

SSH(Secure Shell)는 보안되지 않은 네트워크 환경에서도 암호화된 통신 채널을 통해 원격 시스템에 안전하게 접속할 수 있는 네트워크 프로토콜입니다. 과거 FTP나 Telnet이 평문(plain text)으로 데이터를 전송해 보안에 취약했던 문제를 해결하기 위해 등장했으며, 현재 서버 관리와 원격 개발의 사실상 표준으로 자리 잡았습니다.

macOS는 UNIX 기반 운영체제이기 때문에 OpenSSH 클라이언트와 서버를 기본 내장하고 있습니다. 별도의 소프트웨어 설치 없이 시스템 설정 하나로 SSH 서버를 활성화할 수 있다는 점이 큰 장점입니다. 특히 M4 칩을 탑재한 최신 Mac Mini는 저전력·소형 폼팩터라는 특성 덕분에 홈서버나 개발 서버 용도로 인기를 얻고 있으며, SSH를 통한 원격 접속은 이러한 활용의 핵심 기반이 됩니다.


작동 원리

SSH는 클라이언트-서버 모델로 동작합니다. 접속 대상(여기서는 Mac 또는 Mac Mini)에서 SSH 서버(sshd 데몬)를 실행하면, 원격지의 SSH 클라이언트가 해당 서버의 22번 포트(기본값)로 연결을 요청합니다.

연결이 수립되면 비대칭 암호화(공개키/개인키 쌍)로 세션 키를 교환한 뒤, 대칭 암호화로 실제 통신을 암호화합니다. 인증 방식은 크게 두 가지인데, 비밀번호 인증은 사용자 계정의 비밀번호를 입력하는 방식이고, 키 기반 인증은 미리 등록한 공개키/개인키 쌍으로 자동 인증하는 방식입니다. 보안 측면에서는 키 기반 인증이 무차별 대입 공격(Brute-force Attack)에 훨씬 강하므로 권장됩니다.


설정 가이드: Mac/Mac Mini에서 SSH 서버 활성화

1단계: IP 주소 확인

SSH로 접속하려면 대상 Mac의 IP 주소를 알아야 합니다. 시스템 설정 → 네트워크에서 현재 할당된 IP를 확인할 수 있으며, 터미널에서도 확인 가능합니다.

공유기 하위에 서브네트워크 사용시 공유기에서 포트포워딩을 해줘야해요~!!

# Wi-Fi IP 확인
ipconfig getifaddr en0

# 유선 이더넷 IP 확인
ipconfig getifaddr en1

# 외부 IP 확인 (외부 접속 시 필요)
curl ifconfig.me

2단계: 원격 로그인 활성화

macOS에서 SSH 서버를 켜는 방법은 GUI와 CLI 두 가지가 있습니다.

GUI 방식 (macOS Ventura 이상):

시스템 설정 → 일반 → 공유 메뉴로 이동한 뒤, 원격 로그인 항목을 활성화합니다. 접근 권한은 "모든 사용자" 또는 특정 사용자만 허용하도록 설정할 수 있습니다.

CLI 방식:

# SSH 서버 활성화
sudo systemsetup -setremotelogin on

# 상태 확인
sudo systemsetup -getremotelogin
# 출력: Remote Login: On

참고: CLI로 활성화할 때 "Full Disk Access privileges" 오류가 발생하면, 시스템 설정 → 개인 정보 보호 및 보안 → 전체 디스크 접근 권한에서 터미널 앱에 권한을 부여해야 합니다.

3단계: 접속 테스트

같은 로컬 네트워크에 있는 다른 기기에서 다음 명령으로 접속을 테스트합니다.

# 기본 접속 (22번 포트)
ssh username@192.168.x.x

# 포트를 변경한 경우
ssh username@192.168.x.x -p 2222

# 최초 접속 시 fingerprint 확인 메시지에 yes 입력
# 이후 비밀번호 입력으로 접속 완료

macOS에서는 IP 주소 대신 로컬 네트워크 컴퓨터 이름(예: my-macmini.local)으로도 접속할 수 있어 편리합니다.


SSH 키 기반 인증 설정

비밀번호 입력 없이 안전하게 접속하려면 SSH 키 인증을 설정합니다.

# 1. 클라이언트(접속하는 쪽)에서 키 생성
ssh-keygen -t ed25519 -C "my-macbook"
# ed25519는 RSA보다 짧은 키로 동등 이상의 보안 강도를 제공하는 최신 알고리즘

# 2. 공개키를 Mac Mini(서버)로 복사
ssh-copy-id -i ~/.ssh/id_ed25519.pub username@192.168.x.x
# 또는 수동으로
cat ~/.ssh/id_ed25519.pub | ssh username@192.168.x.x 'cat >> ~/.ssh/authorized_keys'

# 3. 키 파일 권한 설정 (보안상 필수)
chmod 600 ~/.ssh/id_ed25519
chmod 700 ~/.ssh

키 복사가 완료되면 비밀번호 없이 바로 접속됩니다.


SSH config 파일로 접속 간소화

매번 긴 명령어를 입력하는 번거로움을 줄이려면 ~/.ssh/config 파일을 활용합니다.

# ~/.ssh/config
Host macmini
    HostName 192.168.1.100
    User john
    Port 22
    IdentityFile ~/.ssh/id_ed25519

Host macmini-external
    HostName my-ddns-domain.iptime.org
    User john
    Port 2222
    IdentityFile ~/.ssh/id_ed25519
# config 파일 권한 설정
chmod 600 ~/.ssh/config

# 이제 간단하게 접속 가능
ssh macmini

외부 네트워크에서 접속하기

같은 Wi-Fi가 아닌 외부 환경에서 Mac Mini에 접속하려면 추가 네트워크 설정이 필요합니다.

고정 IP 할당

DHCP 환경에서는 Mac Mini의 내부 IP가 수시로 바뀔 수 있습니다. 공유기 관리 페이지에서 Mac Mini의 MAC 주소에 고정 IP를 할당하거나, macOS 네트워크 설정에서 수동으로 IP를 지정합니다.

포트 포워딩

공유기 관리 페이지(보통 http://192.168.0.1)에 접속하여, 외부에서 들어오는 특정 포트의 요청을 Mac Mini의 내부 IP 22번 포트로 전달하도록 설정합니다. 보안을 위해 외부 포트는 22번이 아닌 다른 번호(예: 2222, 8822 등)를 사용하는 것이 좋습니다.

DDNS 설정

가정용 인터넷은 대부분 유동 IP를 사용하므로, 외부 IP가 바뀌어도 항상 같은 주소로 접속할 수 있도록 DDNS(Dynamic DNS)를 설정합니다. ipTIME 공유기는 자체 DDNS 서비스를 제공하며, Cloudflare API를 활용해 직접 DDNS를 구현하는 방법도 있습니다. Cloudflare의 경우 cron으로 일정 주기마다 IP를 갱신하는 스크립트를 돌려 유동 IP 문제를 해결할 수 있습니다.


보안 강화 설정

SSH 서버를 외부에 노출할 때는 반드시 보안을 점검해야 합니다. /etc/ssh/sshd_config 파일을 수정하여 다음 항목을 적용합니다.

# /etc/ssh/sshd_config 주요 보안 설정

# 비밀번호 인증 비활성화 (키 인증만 허용)
PasswordAuthentication no

# root 로그인 차단
PermitRootLogin no

# 공개키 인증 활성화
PubkeyAuthentication yes

# 기본 포트 변경 (선택)
Port 2222

# 접속 허용 사용자 제한 (선택)
AllowUsers john
# 설정 변경 후 SSH 데몬 재시작
sudo launchctl stop com.openssh.sshd
sudo launchctl start com.openssh.sshd

보안설정 후에도 패스워드로 로그인이 가능하여 찾아보니 추가로 Include 되어있는 설정파일이 있는 것을 확인했습니다.

# 아래 명령어로 확인
grep Include /etc/ssh/sshd_config

# NOTE: The following Include directive is not part of the default
Include /etc/ssh/sshd_config.d/*

안에 있는 파일이 설정을 덮어쓸 수 있습니다.

ls /etc/ssh/sshd_config.d/  

100-macos.conf

100-macos.conf 파일을 보니
UsePAM 설정이 있어 수정합니다.

# Options set by macOS that differ from the OpenSSH defaults.
UsePAM no   # no 로 수정 
AcceptEnv LANG LC_* 
Include /etc/ssh/crypto.conf

SSH 클라이언트 도구 비교

macOS 기본 터미널 macOS 별도 설치 불필요, OpenSSH 내장 무료
iTerm2 macOS 분할 화면, 프로필 관리, 검색 기능 무료
Termius macOS/iOS/Android 크로스 플랫폼, SFTP 지원, 모바일 SSH 무료/프리미엄
PuTTY Windows/macOS 가장 대중적인 SSH 클라이언트 무료
Commander One macOS 파일 관리자 + 터미널 에뮬레이터 통합 무료/Pro
VS Code Remote SSH 크로스 플랫폼 원격 서버에서 직접 코드 편집·디버깅 무료

도구 플랫폼 특징 비용

개발자라면 VS Code의 Remote - SSH 확장을 주목할 만합니다. SSH로 접속한 Mac Mini에서 직접 파일을 편집하고, 터미널을 열고, 디버깅까지 할 수 있어 원격 개발 환경을 매우 편리하게 구성할 수 있습니다. 또한 Homebrew로 설치할 수 있는 code-server를 활용하면 웹 브라우저에서 VS Code 환경을 사용하는 것도 가능합니다.


실전 활용 사례

홈서버로서의 Mac Mini

M4 Mac Mini는 16GB 기본 RAM, 저전력 설계, 작은 사이즈 덕분에 개인 홈서버로 각광받고 있습니다. SSH로 원격 접속한 뒤 Docker를 설치하면, AWS와 유사한 환경을 자택에서 운영할 수 있습니다. CI/CD 파이프라인을 GitHub Actions와 연동하거나, Nginx 리버스 프록시를 세팅해 여러 서비스를 도메인별로 분기하는 것도 가능합니다. AWS에서 IPv4 주소 유지에 매달 비용이 발생하는 것에 비해, 장기적으로 경제적인 선택이 됩니다.

개발 머신 원격 활용

성능이 좋은 Mac Mini를 서재에 두고, 카페나 이동 중에는 가벼운 노트북이나 iPad에서 SSH로 접속하여 Vim 편집, Jekyll 서버 실행, 포트 포워딩을 통한 로컬 서버 미리보기 등의 작업을 수행할 수 있습니다.

# Mac Mini의 Jekyll 서버를 로컬에서 미리보기 (포트 포워딩)
ssh -L 4000:localhost:4000 macmini
# 이후 로컬 브라우저에서 http://localhost:4000 접속

24시간 운영을 위한 추가 설정

Mac Mini를 상시 가동 서버로 운영하려면 잠자기 모드 비활성화와 정전 후 자동 재시작 설정이 필요합니다.

# 잠자기 모드 비활성화
sudo pmset -c disablesleep 1
sudo pmset -a sleep 0

# 정전 후 자동 시작
# 시스템 설정 → 에너지 절약 → "정전 후 자동으로 시작하기" 활성화

트러블슈팅

"Connection refused" 오류가 발생할 때: 원격 로그인이 비활성화되어 있거나 방화벽에서 22번 포트를 차단하고 있을 가능성이 높습니다. sudo systemsetup -getremotelogin으로 상태를 확인하세요.

외부에서는 접속이 안 되고 로컬에서만 될 때: 공유기 포트포워딩 설정을 점검하세요. 공유기 재시작 시 설정이 초기화되는 경우가 있습니다.

"Host key verification failed" 오류: Mac Mini를 재설치했거나 IP가 변경된 경우 발생합니다. ~/.ssh/known_hosts에서 해당 호스트 항목을 삭제하면 해결됩니다.

ssh-keygen -R 192.168.x.x

전망

Apple Silicon의 전력 효율과 성능이 세대를 거듭하며 향상되면서, Mac Mini를 홈서버·개발 서버·CI/CD 러너로 활용하는 사례는 계속 증가하고 있습니다. Tailscale, Cloudflare Tunnel 같은 제로 트러스트 네트워크 도구와 결합하면 포트 포워딩 없이도 안전한 원격 접속이 가능해지고, 네트워크 설정의 복잡성도 크게 줄어듭니다.

SSH는 30년 가까이 검증된 프로토콜이지만 여전히 진화하고 있습니다. macOS의 기본 OpenSSH는 꾸준히 업데이트되며, ed25519 같은 최신 암호화 알고리즘을 지원합니다. 기본기를 탄탄히 다져두면 클라우드 서버 관리, 컨테이너 오케스트레이션, 원격 개발 등 다양한 영역으로 자연스럽게 확장할 수 있습니다.

반응형

▲ TOP