반응형
대부분 자료가 우분투 기준이라 맥용으로 서버설치 과정 기록
- SSH 서비스 활성화
ssh 서비스 활성화
sudo systemsetup -getremotelogin
Remote Login : On 이 아니면 아래 설정으로 On
sudo systemsetup -setremotelogin on
SSH 데몬 포트 확인 (기본 22)
sudo grep Port /etc/ssh/sshd_config
#Port 22 이런식으로 주석처리되어있으면 해제해서 포트를 활성화해줘야 함
vi /etc/ssh/sshd_config
Port 22 를 활성화
ListenAddress 0.0.0.0 추가 (모든 인터페이스에서 SSH 요청 허용)
저장 후 서비스 재시작
sudo launchctl stop com.openssh.sshd
sudo launchctl start com.openssh.sshd
- 명령어를 실행할 권한이 부족한경우 권한설정
sudo systemsetup 명령어를 실행할 권한이 부족하면 에러발생
터미널에 전체디스크접근 권한 부여해야함
설정>정보보호및보안>전체디스크접근>잠금해제 터미널프로그램 추가(+클릭후 Application에서 iherb2선택해줌)
- 방화벽(macOS 자체 방화벽) 설정
- 설정-> 네트워크->방화벽 ->옵션
- 방화벽 On 하고 모든 연결로부터 막기 해제하고 Remote Login(SSH) 수신허용 확인
- SSH 공개키 기반 접속 설정 절차
원격PC(not 서버) 에서 실행
ssh-keygen -t ed25519 -C "your_email@example.com"
(ed25519는 RSA 보다 보안/속도 효율이 나은 최신 알고리즘)
저장경로(default)
/Users/<username>/.ssh/id_ed25519
passphrase(비밀번호):
입력해도되고, 편의를 위해 비워도 됩니다.
결과 파일
~/.ssh/id_ed25519 (개인키, 절대 유출금지)
~/.ssh/id_ed25519.pub (공개키, 서버에 복사)
서버에 복사
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@<맥미니_IP또는도메인>
서버측 SSH 데몬 설정 수정
sudo vi /etc/ssh/sshd_config
아래의 항목을 찾아 값 수정or 확인
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
저장 후 ssh재시작
sudo launchctl stop com.openssh.sshd
sudo launchctl start com.openssh.sshd
원격PC에서 접속
ssh -i ~/.ssh/id_ed25519 user@<맥미니_IP또는도메인>
fail2ban 같은 도구는 macOS엔 기본 없으므로,
공격 방지를 위해 Cloudflare Tunnel 혹은 pf 방화벽 규칙을 추가하면 완벽합니다.
요약, 단계명령어설명
| 키 생성 | ssh-keygen -t ed25519 -C "email" | 외부 PC에서 생성 |
| 공개키 복사 | ssh-copy-id 또는 수동 | 맥 미니의 ~/.ssh/authorized_keys |
| SSH 설정 | /etc/ssh/sshd_config 수정 | PubkeyAuthentication yes |
| 재시작 | sudo launchctl start com.openssh.sshd | SSH 적용 |
| 접속 테스트 | ssh -i ~/.ssh/id_ed25519 user@IP | 비밀번호 없이 로그인 |
brew install curl ca-certificates gnupg
# nvm 다운로드 및 설치:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# Node.js 다운로드 및 설치:
nvm install 24
# Node.js 버전 확인:
node -v # "v24.11.1"가 출력되어야 합니다.
nvm current # "v24.11.1"가 출력되어야 합니다.
# Verify the Node.js version:
node -v # Should print "v24.11.1".
npm 버전 확인:
npm -v # 11.6.2가 출력되어야 합니다.
gemini설치
npm install -g @google/gemini-cli
deSEC 가입 및 도메인 설정
https://desec.io/
내아이피 확인
https://ifconfig.me/
vscode 서버 설치
curl -fsSL https://code-server.dev/install.sh | sh
The launchd service runs on http://127.0.0.1:8080. Logs are located at /opt/homebrew/var/log/code-server.log.
To start code-server now and restart at login:
brew services start code-server
Or, if you don't want/need a background service you can just run:
/opt/homebrew/opt/code-server/bin/code-server
Brew release has been installed.
Run with:
code-server
포트를 설정해서 실행하기
code-server --bind-addr 0.0.0.0:5678
이후에 password 설정
vi ~/.config/code-server/config.yaml 에서 password 작성해줌
caddy 설치하기
brew install caddy
caddy version
Caddy 백그라운드 서비스로 실행,컴퓨터가 시작될 때마다 Caddy가 자동으로 실행되도록 설정합니다.
brew services start caddy
설정 파일 (Caddyfile) 위치
Homebrew로 Caddy를 설치하면 기본 Caddyfile 위치는
Apple Silicon : /opt/homebrew/etc/Caddyfile
반응형
'Tech > Mac OS 홈서버' 카테고리의 다른 글
| cloudflare 에서 도메인 연결하기(Onboard a domain) (0) | 2025.11.20 |
|---|---|
| 홈서버 셀프호스팅용, 도메인 싸게 구입하기 (0) | 2025.11.20 |
| Mac OS 맥미니 m1 서버만들기 (지난번 글을 보기 편하게 md포매팅) (0) | 2025.11.18 |
| 원격으로 윈도우PC 에 ssh 접속 기본쉘 wsl.exe로 변경하기 (0) | 2025.11.14 |
| Oracle 서버세팅기록 (0) | 2025.10.11 |
