GrepBoardTools GrepBoard 매뉴얼 ↗ Log ↗

Tools / 서버 설정

ssh_config 만들기

필요한 칸만 채웁니다 — 빈칸은 넣지 않습니다. 그러면 ssh -i ~/.ssh/key -p 2222 deploy@203.0.113.10 대신 ssh myserver 로 접속합니다.

입력한 값은 브라우저 안에서만 계산하고 서버로 보내지 않습니다.

접속

ssh myserver 처럼 칠 짧은 이름. 영문 · 숫자 · . _ -

실제 주소 — 도메인이나 IP. 비우면 별칭을 주소로 씁니다.

서버의 로그인 이름. 비우면 내 컴퓨터의 사용자 이름.

비우면 22.

키

개인 키 경로. 예: ~/.ssh/id_ed25519 — 공백이 있으면 따옴표를 붙여 줍니다.

에이전트의 모든 키가 아니라 이 키만 냅니다 — 「Too many authentication failures」를 막습니다.

점프 호스트

배스천을 거쳐 접속: user@bastion:22, 다른 별칭, 여러 단계는 쉼표로.

포트 포워딩

한 줄에 하나: 내_포트 호스트:포트 — 예: 5433 localhost:5432 이면 서버의 DB 가 내 localhost:5433 으로 열립니다.

한 줄에 하나: 서버_포트 호스트:포트 — 서버의 포트가 내 쪽으로 이어집니다.

내 컴퓨터의 SOCKS 프록시 포트. 예: 1080

서버가 내 ssh-agent 를 쓰게 합니다. 믿는 서버에만.

연결 유지

살아 있는지 묻는 간격(초). 60 이 흔합니다. 0 이나 빈칸은 끔.

답이 없어도 버티는 횟수(기본 3). 간격 × 횟수 ≈ 끊긴 연결을 견디는 시간.

~/.ssh/config 에 넣을 블록
Host myserver
    HostName 203.0.113.10
    User deploy
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes
    ServerAliveInterval 60
    ServerAliveCountMax 3

무엇을 하나

OpenSSH 클라이언트 설정 파일 ~/.ssh/config 에 넣을 Host 블록을 만듭니다. 별칭을 정해 두면 주소 · 사용자 · 포트 · 키 · 배스천 · 포워딩을 매번 치지 않아도 됩니다. 빈칸은 블록에 넣지 않고, 확실히 읽히지 않는 값(공백 섞인 별칭, % 가 든 경로 등)은 블록을 만들지 않고 그 칸에 이유를 보입니다.

예시

하려는 것들어가는 줄
포트 2222 · 키 지정Port 2222 · IdentityFile ~/.ssh/id_ed25519 · IdentitiesOnly yes
배스천을 거쳐 내부 서버로ProxyJump admin@bastion.example.com:22
서버의 PostgreSQL 을 내 5433 으로LocalForward 5433 localhost:5432
내 개발 서버 3000 을 서버의 9000 으로RemoteForward 9000 localhost:3000
브라우저용 SOCKS 프록시DynamicForward 1080
놀고 있으면 끊기는 연결ServerAliveInterval 60 · ServerAliveCountMax 3

흔한 실수

  • **Host * 를 맨 위에 두기 — ssh 는 설정마다 먼저 나온 값**을 씁니다. Host * 에 User root 가 위에 있으면 아래 블록의 User 는 무시됩니다. 공통값은 파일 맨 아래에 둡니다.
  • 권한이 넓은 설정 파일 — ~/.ssh/config 를 다른 사용자가 쓸 수 있으면 ssh 가 「Bad owner or permissions」로 거부합니다. chmod 600 으로 둡니다.
  • 키가 많아서 거부됨 — 에이전트에 키가 여럿이면 하나씩 내다가 서버의 시도 횟수를 넘깁니다. IdentityFile 과 함께 IdentitiesOnly yes 를 씁니다.

어떻게 확인했나

공개 전에 OpenSSH 9.6p1 의 ssh -G -F <임시파일> <별칭>(설정을 읽어 최종 값만 찍고 접속하지 않음)으로 만든 블록 32개를 다시 읽어, 값마다 의도와 같은지 99번 맞대었습니다. 블록 뒤에 Host * 를 붙여 앞 블록이 이기는지, 비운 칸이 기본값(포트 22 · 별칭 = 주소)으로 읽히는지, 잘못된 입력을 블록으로 만들지 않는지도 봤습니다.

자주 묻는 것

설정이 제대로 읽혔는지 접속하지 않고 볼 수 있나요?

ssh -G 별칭 이 그 별칭에 적용될 최종 설정을 찍고 끝냅니다. ssh -G myserver | grep -E '^(hostname|user|port|identityfile) ' 처럼 필요한 줄만 봅니다.

ProxyJump 와 ForwardAgent 는 무엇이 다른가요?

ProxyJump 는 배스천을 터널로만 쓰고 인증은 내 컴퓨터에서 끝냅니다. ForwardAgent 는 배스천에 내 에이전트를 빌려주므로 그 서버의 관리자가 접속 중에 내 키로 다른 곳에 들어갈 수 있습니다. 거쳐 가는 용도라면 ProxyJump 를 씁니다.

입력한 값이 서버로 가나요?

아니요. 블록은 브라우저 안에서 만듭니다. 주소 · 사용자 이름 · 경로는 서버로 보내지 않고, 이 사이트가 쓰는 방문 통계와 광고에도 넘기지 않습니다. 자세한 것은 개인정보 처리 안내에 있습니다.