콘텐츠로 이동

SSH 자동인증 설정

맥미니 (게이트웨이) → 메인컴/보조컴 (Windows + WSL) 비밀번호 없이 SSH 접속


Terminal window
# ~/.ssh/ 기존 키 백업 또는 삭제
rm -rf ~/.ssh/*
# ~~메인컴용 키 생성~~
# ~~ssh-keygen -t ed25519 -C "mainpc_key" -f ~/.ssh/mainpc_key -N ""~~
# ~~보조컴용 키 생성~~
# ~~ssh-keygen -t ed25519 -C "subpc_key" -f ~/.ssh/subpc_key -N ""~~
# 공통 키 생성 (hermes_key)
ssh-keygen -t ed25519 -C "hermes_key" -f ~/.ssh/hermes_key -N ""

생성된 키:

  • ~/.ssh/mainpc_key / mainpc_key.pub - 메인컴 접속용
  • ~/.ssh/subpc_key / subpc_key.pub - 보조컴 접속용
  • ~/.ssh/hermes_key / hermes_key.pub - 공통 접속용

2. Windows OpenSSH 서버 설치 (메인컴/보조컴)

섹션 제목: “2. Windows OpenSSH 서버 설치 (메인컴/보조컴)”

PowerShell (관리자 권한) 에서 실행:

Terminal window
# 1. OpenSSH 서버 설치
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
# 2. SSH 서비스 시작
Start-Service sshd
# 3. 자동 시작 설정
Set-Service -Name sshd -StartupType 'Automatic'
# 4. 방화벽 규칙 (포트 설정)
New-NetFirewallRule -Name 'SSHD' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -LocalPort 7022

3. sshd_config 설정 (메인컴/보조컴)

섹션 제목: “3. sshd_config 설정 (메인컴/보조컴)”

중요: 관리자 계정은 Match Group administrators 때문에 키가 무시됨

PowerShell (관리자 권한) 에서:

Terminal window
notepad "C:\ProgramData\ssh\sshd_config"

파일 수정:

Port 7022
PubkeyAuthentication yes
PasswordAuthentication yes
# Match Group administrators
# AuthorizedKeysFile PROGRAMDATA/ssh/administrators_authorized_keys

⚠️ 주의: Match Group administrators 블록을 반드시 주석 처리해야 함!

서비스 재시작:

Terminal window
Restart-Service sshd

4. authorized_keys 등록 (메인컴/보조컴)

섹션 제목: “4. authorized_keys 등록 (메인컴/보조컴)”

메인컴 PowerShell 에서:

Terminal window
# mainpc_key.pub 내용 추가
Add-Content -Path "$env:USERPROFILE\.ssh\authorized_keys" -Value "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGbWuwie3N0RlOdoswO042luPmYs3/E4ue1NY/Rcc6LS mainpc_key"
# subpc_key.pub 내용 추가 (보조컴에서 접속할 때)
Add-Content -Path "$env:USERPROFILE\.ssh\authorized_keys" -Value "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINfcVspK+W/mGnImgURU3vQy2k3ERJlDk8eoMsHQ1DlF subpc_key"

PowerShell (관리자 권한) 에서:

Terminal window
icacls $env:USERPROFILE\.ssh /inheritance:r
icacls $env:USERPROFILE\.ssh /grant "$($env:USERNAME):(R,W)"
icacls $env:USERPROFILE\.ssh\authorized_keys /inheritance:r
icacls $env:USERPROFILE\.ssh\authorized_keys /grant "$($env:USERNAME):(R,W)"

Terminal window
# 메인컴 Windows 접속 (포트 7022)
ssh -i ~/.ssh/mainpc_key -p 7022 pinksky@100.116.141.88
# ~~보조컴 Windows 접속 (포트 6022)~~
# ~~ssh -i ~/.ssh/subpc_key -p 6022 pinkskyn@100.85.201.96~~
# 보조컴 Windows 접속 (포트 7022)
ssh -i ~/.ssh/hermes_key -p 7022 pinksky@100.85.201.96

접속정보 원본은 [[MiniCITY(v0.5_PARA_0502-)/04_ARCHIVE(보관함)/버전별/v0.2-백업/MiniCITY(v0.2_진행중_0419-)/98.history/MiniCITY(0.0_최초자료_0404-0410)/D.에이전트/01.오픈클로셋팅/민감정보-마스터]]를 참조

대상IP포트사용자접속 명령어
메인컴 (Windows)100.116.141.887022pinkskyhermes_keyssh mainpc-win
메인컴 (WSL)100.103.1.41 → 100.105.122.1206022 → 2222pinkskyhermes_keyssh mainpc-wsl
보조컴 (Windows)100.85.201.967022pinkskyhermes_keyssh subpc-win
보조컴 (WSL)100.87.139.97 → 100.124.61.856022 → 2222pinkskyn → pinkskyhermes_keyssh subpc-wsl

  1. sshd_config 확인:

    • Match Group administrators 블록이 주석 처리되었는지 확인
    • PubkeyAuthentication yes 있는지 확인
  2. 권한 확인:

    • icacls 명령으로 권한 재설정
    • 중요: SYSTEM 계정 권한 추가 필수!
    Terminal window
    icacls "$env:USERPROFILE\.ssh\authorized_keys" /grant "NT AUTHORITY\SYSTEM:(R)"
  3. 서비스 재시작:

    Terminal window
    Restart-Service sshd

WSL 에서 SSH 서버 설치:

Terminal window
# WSL 안에서
sudo apt update
sudo apt install -y openssh-server
sudo service ssh start
# 포트 설정
sudo nano /etc/ssh/sshd_config
# ~~Port 6022 추가~~ → Port 2222 추가

일자내용수정자
2026-04-18SSH 자동인증 설정 문서화미미아빠
2026-04-20Tailscale IP, 포트, 사용자, 키 업데이트미미