안녕하세요, 라즈베리 파이 클러스터를 구축하고 있는 여러분! 오늘은 여러 대의 라즈베리 파이를 효율적으로 관리하기 위한 꿀팁을 공유해 드리려고 합니다. 라즈베리 파이 클러스터를 운영하다 보면 SSH로 여러 기기에 접속하는 일이 많은데요, 매번 비밀번호를 입력하는 것은 정말 번거롭죠. 그래서 이번 포스팅에서는 SSH 키 인증 설정과 ProxyJump 기능을 활용해 클러스터 관리를 획기적으로 편하게 만들어 보겠습니다!
📝 목표
이번 설정을 통해 우리가 달성하고자 하는 목표는 다음과 같습니다:
- Windows PC에서 메인 라즈베리 파이(
pi1
)로 비밀번호 없이 SSH 접속 - 메인 라즈베리 파이(
pi1
)에서 다른 파이들(pi2~pi4
)로 비밀번호 없이 SSH 접속 - Windows PC에서 한 번에 모든 라즈베리 파이에 쉽게 접속할 수 있는 환경 구축
🔑 1. Windows PC에서 SSH 키 생성하기
먼저 Windows PC에서 SSH 키를 생성해야 합니다. 이미 키가 있는지 확인해 볼까요?
dir %USERPROFILE%\.ssh\id_rsa.pub
만약 파일이 존재한다면 기존 키를 사용할 수 있습니다. 하지만 키가 없다면 다음 명령어로 새 SSH 키를 생성합니다:
ssh-keygen -t rsa -b 4096
키 생성 과정에서:
- 저장 경로는 기본값(
C:\Users\사용자이름\.ssh\id_rsa
)을 사용하세요 - 패스프레이즈는 필요 없다면 그냥 엔터키를 누르면 됩니다
🔄 2. Windows PC에서 메인 라즈베리 파이(pi1)로 SSH 키 복사하기
이제 생성한 SSH 공개 키를 확인해 볼까요?
type %USERPROFILE%\.ssh\id_rsa.pub
이 명령어를 실행하면 나오는 내용을 전부 복사해두세요!
다음으로 메인 라즈베리 파이(pi1
)에 SSH로 접속하여 키를 등록합니다:
ssh ubuntu@xxx.xxx.xx.xx # pi1 IP 주소
mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys
나노 에디터가 열리면 복사해둔 공개 키를 붙여넣기 하세요. 그리고 Ctrl + X
→ Y
→ Enter
로 저장 후 종료합니다.
이제 권한을 올바르게 설정해 줍시다:
chmod 600 ~/.ssh/authorized_keys
이 과정이 완료되면 Windows PC에서 비밀번호 없이 pi1
에 SSH 접속이 가능해집니다:
ssh ubuntu@xxx.xxx.xx.xx # pi1 IP 주소
🔄 3. 메인 라즈베리 파이(pi1)에서 다른 파이들로 SSH 키 복사하기
이제 메인 라즈베리 파이(pi1
)에서도 SSH 키를 생성하여 다른 파이들에게 배포해야 합니다.
메인 라즈베리 파이(pi1
)에서 SSH 키를 생성합니다:
ssh-keygen -t rsa -b 4096
패스프레이즈는 입력하지 않고 엔터키만 눌러 기본 설정을 유지합니다.
이제 생성된 키를 다른 라즈베리 파이들(pi2~pi4
)에 복사합니다:
ssh-copy-id ubuntu@xxx.xxx.xx.xx # pi2 IP 주소
ssh-copy-id ubuntu@xxx.xxx.xx.xx # pi3 IP 주소
ssh-copy-id ubuntu@xxx.xxx.xx.xx # pi4 IP 주소
각 명령어 실행 시 비밀번호를 입력하면 SSH 키 복사가 완료됩니다. 이후부터는 비밀번호 없이 접속이 가능해집니다!
🚀 4. ProxyJump 설정으로 빠른 이동 구현하기
이제 더 편리하게 사용하기 위해 ProxyJump를 설정해 봅시다. 이 설정을 하면 PC에서 메인 라즈베리 파이(pi1
)를 거쳐 바로 다른 파이들로 이동할 수 있습니다.
먼저 Windows에서 SSH 설정 파일을 생성합니다:
notepad %USERPROFILE%\.ssh\config
만약 파일 생성이 잘 안된다면 다음 명령어로 강제 생성할 수 있습니다:
echo. > %USERPROFILE%\.ssh\config
파일이 생성되었는지 확인합니다:
dir %USERPROFILE%\.ssh\config
이제 생성된 config
파일에 다음 내용을 추가합니다:
Host pi1
HostName xxx.xxx.xx.xx # pi1 IP 주소
User ubuntu
IdentityFile ~/.ssh/id_rsa
Host pi2
HostName xxx.xxx.xx.xx # pi2 IP 주소
User ubuntu
ProxyJump pi1
IdentityFile ~/.ssh/id_rsa
Host pi3
HostName xxx.xxx.xx.xx # pi3 IP 주소
User ubuntu
ProxyJump pi1
IdentityFile ~/.ssh/id_rsa
Host pi4
HostName xxx.xxx.xx.xx # pi4 IP 주소
User ubuntu
ProxyJump pi1
IdentityFile ~/.ssh/id_rsa
파일을 저장한 후, 필요하다면 권한을 수정해 줍니다:
icacls %USERPROFILE%\.ssh\config /inheritance:r /grant:r "%USERNAME%:F"
🎉 설정 완료! 이제 편리하게 사용해 보세요
이제 모든 설정이 완료되었습니다! 다음과 같이 간단한 명령어로 라즈베리 파이들에 접속할 수 있게 되었어요:
ssh pi1 # 메인 라즈베리 파이에 접속
ssh pi2 # PC → pi1 → pi2 자동 접속
ssh pi3 # PC → pi1 → pi3 자동 접속
ssh pi4 # PC → pi1 → pi4 자동 접속
🔍 비교해 보세요
⚠️ 변경 전 (AS IS)
입력: ssh ubuntu@xxx.xxx.xx.xx
입력: 비밀번호
✅ 변경 후 (TO BE)
입력: ssh pi1
훨씬 간편해졌죠? 비밀번호 입력 없이, 짧은 명령어로 클러스터의 모든 라즈베리 파이에 접속할 수 있게 되었습니다!
마치며
이번 포스팅에서는 SSH 키 인증과 ProxyJump 설정을 통해 라즈베리 파이 클러스터 관리를 효율화하는 방법을 알아봤습니다. 이 설정을 통해 여러분도 클러스터 작업 시간을 크게 단축할 수 있을 거예요. 다음 포스팅에서는 더 유용한 라즈베리 파이 팁을 가져오겠습니다!
질문이나 문제가 있으시면 댓글로 남겨주세요. 감사합니다! 😊
'Research > Raspberry Pi' 카테고리의 다른 글
라즈베리 파이5 레시피 #5: 포트포워딩 없이 외부에서 원격 접속하는 법! (feat. Tailscale) (0) | 2025.04.30 |
---|---|
라즈베리 파이5 레시피 #4: 클러스터 확장 - RPi 추가 시 SSH 설정 가이드 (1) | 2025.04.29 |
라즈베리 파이5 레시피 #2 : PCIe & SSD 초고속 튜닝 (0) | 2025.03.21 |
라즈베리 파이5 레시피 #1 : SSH, IP, PW 설정을 곁들인 (0) | 2025.03.21 |
라즈베리 파이5 레시피 #0: 들어가며 (0) | 2025.03.21 |