SSH 에이전트 및 다중 홉
원활한 키 관리를 위해 SSH 에이전트를 활용하고 여러 홉을 거치는 SSH 연결을 구성하여 깊숙이 중첩된 네트워크에 접근합니다.
SSH 에이전트 및 다중 홉은(는) CoddyKit의 무료 Linux Server Deployment & SSH Mastery 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Linux Server Deployment & SSH Mastery 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.
SSH 에이전트: 편리한 사용의 핵심
서버에 연결할 때마다 SSH 키의 암호 문구를 입력하는 것이 번거로우신가요? SSH 에이전트가 도와드립니다!
- 개인 키를 안전하게 저장하는 백그라운드 프로그램입니다.
- 세션마다 한 번만 암호 문구를 입력해 키 잠금을 해제하면 됩니다.
- 따라서 암호 문구를 다시 입력하지 않고 여러 서버에 연결할 수 있어 편리성과 보안이 모두 향상됩니다.
SSH 에이전트 시작
키를 추가하기 전에 SSH 에이전트를 시작해야 합니다. 에이전트는 일반적으로 백그라운드 프로세스로 실행됩니다.
다음 명령으로 에이전트를 시작하고 셸에서 사용하도록 설정할 수 있습니다.
eval "$(ssh-agent -s)"에이전트에 키 추가
에이전트가 실행되면 개인 키를 에이전트에 추가할 수 있습니다. ssh-add 명령이 이 작업을 수행합니다.
- 키의 암호 문구를 입력하라는 메시지가 표시됩니다.
- 에이전트가 중지되거나 사용자가 명시적으로 제거할 때까지 키가 로드된 상태로 유지됩니다.
어떤 키가 로드되어 있는지 확인하려면 ssh-add -l을 사용하세요.
ssh-add ~/.ssh/id_rsa
ssh-add -l에이전트 전달: 개념
개인 SSH 키를 서버 A에 저장하지 않고, 로컬 SSH 키를 사용해 한 서버(서버 A)에서 다른 서버(서버 B)로 연결해야 할 때가 있습니다.
에이전트 전달을 사용하면 원격 서버에서 시작된 연결의 인증을 로컬 SSH 에이전트가 처리할 수 있습니다. 로컬 에이전트를 원격 호스트로 일시적으로 확장하는 것과 같습니다.
에이전트 전달 사용
에이전트 전달을 사용하려면 첫 번째 서버(중계 호스트)에 연결할 때 -A 옵션을 추가하기만 하면 됩니다.
그런 다음 중계 호스트에서 로컬 키를 사용해 다른 서버에 연결할 수 있으며, 중계 호스트에 키를 저장할 필요가 없습니다. 강력한 보안 기능입니다!
ssh -A user@jump_host
# Now, from jump_host, connect to target_server
ssh user@target_server다중 홉 SSH: 깊숙한 네트워크에 접근하기
대상 서버가 로컬 컴퓨터에서 직접 접근할 수 없고 중간 서버('점프 호스트')를 통해서만 접근할 수 있다면 어떻게 해야 할까요?
다중 홉 SSH는 SSH 체이닝이라고도 하며, 하나 이상의 중간 서버를 거쳐 최종 목적지에 도달할 수 있도록 연결을 설정합니다.
ProxyJump를 사용한 다중 홉
다중 홉 SSH를 설정하는 가장 쉽고 권장되는 방법은 ~/.ssh/config 파일에서 ProxyJump 지시어를 사용하는 것입니다.
이렇게 설정하면 SSH 클라이언트가 먼저 JumpHost에 연결한 다음, 해당 서버에서 TargetServer로 연결을 설정합니다.
Host TargetServer
HostName 192.168.1.100
User myuser
ProxyJump jump_host_user@jump.example.comProxyCommand를 사용한 다중 홉
구형 SSH 클라이언트나 더 복잡한 상황에서는 ProxyCommand가 더 큰 유연성을 제공합니다. 이 기능은 대상 서버에 연결하기 위한 명령을 실행합니다.
ssh -W %h:%p 부분은 SSH에 표준 입력 및 출력을 대상 호스트와 포트로 전달하도록 지시합니다.
Host TargetServer
HostName 192.168.1.100
User myuser
ProxyCommand ssh jump_host_user@jump.example.com -W %h:%p에이전트 전달과 다중 홉 결합
이 강력한 기능들을 결합할 수 있습니다! 다중 홉 설정에서 에이전트 전달을 사용하면 암호 문구를 반복해서 입력하지 않아도 됩니다.
점프 호스트 설정의 ~/.ssh/config에 ForwardAgent yes를 추가하거나, 점프 호스트에 연결할 때 ssh -A를 사용하면 됩니다. 이렇게 하면 로컬 에이전트가 최종 대상 서버에서도 사용자를 인증할 수 있습니다.
Host JumpHost
HostName jump.example.com
User jump_user
ForwardAgent yes
Host TargetServer
HostName 192.168.1.100
User target_user
ProxyJump JumpHost빠른 확인: SSH 기능
SSH 에이전트와 다중 홉 SSH에 관한 다음 설명을 살펴보세요. 올바른 것은 어느 것일까요?
복습: 원활하고 안전한 접근
이 수업에서 두 가지 고급 SSH 기법을 익혔습니다.
- SSH 에이전트: 잠금이 해제된 키를 저장하므로 암호 문구를 반복해서 입력하지 않아도 되어 편리하고 안전합니다.
- 에이전트 전달: 로컬 에이전트의 기능을 원격 서버로 안전하게 확장하여, 점프 호스트에서 로컬 키를 사용해 인증할 수 있도록 합니다.
- 다중 홉 SSH: 중간 점프 호스트를 통해 깊숙이 중첩된 네트워크에 접근할 수 있게 하며,
ProxyJump또는ProxyCommand로 쉽게 구성할 수 있습니다.
이러한 도구는 복잡한 서버 인프라를 효율적이고 안전하게 관리하는 데 필수적입니다.
자주 묻는 질문
“SSH 에이전트 및 다중 홉” 강의는 무료인가요?
네 — “SSH 에이전트 및 다중 홉” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Linux Server Deployment & SSH Mastery 강의 전체를 잠금 해제할 수 있습니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.
“SSH 에이전트 및 다중 홉”에서 뭘 배우나요?
원활한 키 관리를 위해 SSH 에이전트를 활용하고 여러 홉을 거치는 SSH 연결을 구성하여 깊숙이 중첩된 네트워크에 접근합니다. 브라우저에서 직접 실행하는 실습 코드로 Linux Server Deployment & SSH Mastery을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Linux Server Deployment & SSH Mastery을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Linux Server Deployment & SSH Mastery은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“SSH 에이전트 및 다중 홉” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Linux Server Deployment & SSH Mastery 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Linux Server Deployment & SSH Mastery 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.