Loading the catalog…
Loading the catalog…
Raspberry Pi를 모니터와 키보드 없이 사용하려면 SSH(Secure Shell) 를 이용하는 것이 가장 편리하다. SSH를 사용하면 Mac의 터미널에서 Raspberry Pi에 접속하여 다음과 같은 작업을 할 수 있다. Raspberry Pi 파일 관리 Python/C 프로그램 실행 패키지 설치 Git 사용 네트워크 확인 시스템 상태 확인 Raspberry Pi 재부팅 Raspberry Pi 안전 종료 특히 Raspberry Pi를 서버나 임베디드 프로젝트용으로 사용할 경우 SSH는 거의 필수적으로 사용하게 된다. 1. SSH란? SSH는 Secure Shell 의 약자로, 네트워크를 통해 다른 컴퓨터의 터미널에 안전하게 접속하기 위한 프로토콜이다. 구조는 다음과 같다. Mac │ │ SSH │ ▼ Wi-Fi / Ethernet │ ▼ Raspberry Pi 즉, Mac의 Terminal ↓ SSH 연결 ↓ Raspberry Pi의 Linux Terminal 형태로 Raspberry Pi를 원격으로 조작하게 된다. Raspberry Pi에 모니터, 키보드, 마우스를 연결하지 않고 사용하는 방식을 흔히 Headless Setup 이라고 한다. 2. Raspberry Pi에서 SSH 활성화 SSH를 사용하려면 먼저 Raspberry Pi에서 SSH 기능이 활성화되어 있어야 한다. 방법 1. Raspberry Pi Imager에서 미리 설정 Raspberry Pi OS를 microSD 카드에 설치할 때 Raspberry Pi Imager에서 다음 항목을 미리 설정할 수 있다. Hostname Username Password Wi-Fi SSH SSH를 사용할 예정이라면 OS를 설치할 때 미리 활성화해 두는 것이 가장 편하다. 최근 Raspberry Pi OS에서는 예전처럼 기본 사용자 이름이 무조건 pi 인 것이 아니라 설치 과정에서 직접 생성한 사용자 이름 을 사용한다. 예를 들어 사용자 이름을 minwoo 로 만들었다면 이후 SSH 접속도 ssh minwoo@raspberrypi.local 과 같이 해야 한다. Raspberry Pi Imager에서는 Headless 환경에 필요한 네트워크, 사용자 계정, SSH 등을 미리 설정할 수 있다. 3. 이미 Raspberry Pi가 켜져 있다면 SSH 활성화 Raspberry Pi 터미널에서 다음 명령어를 실행한다. sudo raspi-config 설정 화면에서 SSH를 활성화한다. 또는 Raspberry Pi Desktop을 사용하고 있다면 설정 메뉴에서도 SSH를 활성화할 수 있다. 4. Mac에서 Raspberry Pi SSH 접속하기 macOS에는 SSH 프로그램이 기본으로 설치되어 있기 때문에 별도의 프로그램을 설치할 필요가 없다. Mac에서 Terminal을 실행한다. 응용 프로그램 → 유틸리티 → 터미널 또는 Spotlight에서 Terminal 을 검색하면 된다. 5. 가장 기본적인 SSH 접속 명령어 기본 형식은 다음과 같다. ssh 사용자이름@호스트이름 예를 들어 Raspberry Pi의 hostname이 raspberrypi 이고 사용자 이름이 minwoo 라면 ssh minwoo@raspberrypi.local 을 입력한다. 예: ssh minwoo@raspberrypi.local 그다음 Raspberry Pi 계정의 비밀번호를 입력한다. 비밀번호를 입력해도 터미널 화면에는 * 등의 문자가 표시되지 않는다. 아무것도 입력되지 않는 것처럼 보여도 정상이다. 비밀번호 입력 후 Enter 를 누르면 된다. 6. 처음 SSH 접속할 때 나오는 메시지 처음 연결하면 다음과 비슷한 메시지가 나타날 수 있다. The authenticity of host 'raspberrypi.local' can't be established. Are you sure you want to continue connecting (yes/no/[fingerprint])? 처음 접속한 자신의 Raspberry Pi가 맞다면 yes 를 입력한다. 그러면 Mac의 SSH known hosts 목록에 해당 Raspberry Pi가 등록된다. 이후부터는 동일한 메시지가 일반적으로 나타나지 않는다. 7. IP 주소로 SSH 접속하기 raspberrypi.local 이 제대로 동작하지 않는다면 IP 주소를 이용할 수도 있다. 예를 들어 Raspberry Pi의 IP가 192.168.0.15 라면 ssh minwoo@192.168.0.15 과 같이 접속한다. 8. Raspberry Pi IP 주소 확인 Raspberry Pi 터미널에서 다음 명령어를 실행한다. hostname -I 예: 192.168.0.15 그러면 Mac에서 ssh minwoo@192.168.0.15 로 접속할 수 있다. Raspberry Pi 공식 문서에서도 로컬 IP 확인 명령어로 hostname -I 를 안내하고 있다. 9. SSH 접속 여부 확인하기 SSH 접속에 성공하면 터미널 앞부분이 바뀐다. Mac에서는 예를 들어 minwoo@MacBook ~ % 처럼 표시될 수 있다. SSH 접속 후에는 minwoo@raspberrypi:~ $ 처럼 표시된다. 즉, minwoo@MacBook 이라면 Mac에서 명령을 실행 중 이고, minwoo@raspberrypi 라면 Raspberry Pi에서 명령을 실행 중 이다. 이 부분은 처음 SSH를 사용할 때 반드시 구분하는 것이 좋다. 10. 현재 사용자 확인 whoami 예: minwoo 현재 로그인되어 있는 Linux 사용자를 확인한다. 11. 현재 위치 확인 pwd pwd 는 Print Working Directory 의 약자이다. 예: /home/minwoo 현재 터미널이 어느 디렉터리에 있는지 확인할 수 있다. 12. 파일과 폴더 목록 확인 ls 자세히 보려면 ls -l 숨김 파일까지 보려면 ls -a 둘을 같이 사용할 수도 있다. ls -la 예: Documents Downloads BioLoop-Pi Desktop 13. 폴더 이동 기본 형식: cd 폴더이름 예를 들어 cd BioLoop-Pi 상위 폴더로 이동: cd .. 홈 디렉터리로 이동: cd ~ 또는 단순히 cd 라고 입력해도 된다. 14. 폴더 만들기 mkdir 폴더이름 예: mkdir projects 프로젝트 폴더를 만든다면 mkdir BioLoop-Pi 15. 파일 만들기 빈 파일 생성: touch test.txt 예: touch README.md 16. 텍스트 파일 내용 확인 cat 파일이름 예: cat README.md 17. 터미널에서 파일 수정하기 Raspberry Pi OS에서는 nano 를 이용하면 간단하게 파일을 수정할 수 있다. nano README.md nano에서 저장: Ctrl + O Enter를 누른 후, nano 종료: Ctrl + X 18. 파일 복사 cp 원본 대상 예: cp test.txt test_backup.txt 19. 파일 이동 또는 이름 변경 mv 기존이름 새이름 예: mv test.txt sensor_test.txt mv 는 파일을 다른 폴더로 이동할 때도 사용할 수 있다. mv sensor_test.txt ~/Documents/ 20. 파일 삭제 rm 파일이름 예: rm test.txt 폴더와 내부 파일을 모두 삭제하려면 rm -r 폴더이름 을 사용할 수 있다. 예: rm -r test_project rm 으로 삭제한 파일은 일반적인 휴지통으로 이동하지 않는다. 특히 sudo rm -rf 같은 명령어는 시스템 파일까지 삭제할 수 있으므로 정확히 이해하기 전에는 사용하지 않는 것이 좋다. 21. 화면 정리 터미널 화면이 너무 복잡해졌다면 clear 를 사용한다. 단축키로는 Ctrl + L 을 사용할 수도 있다. 22. 이전 명령어 다시 사용하기 키보드의 ↑ 방향키를 누르면 이전에 실행했던 명령어가 나타난다. 예를 들어 이전에 ssh minwoo@raspberrypi.local 을 사용했다면 위쪽 방향키를 눌러 다시 불러올 수 있다. 23. 실행 중인 명령 중단하기 프로그램이나 명령어가 계속 실행되고 있다면 Ctrl + C 를 사용한다. 예를 들어 ping google.com 을 실행하면 계속 결과가 출력되는데, Ctrl + C 를 누르면 종료된다. 24. Raspberry Pi 네트워크 확인 현재 IP 주소: hostname -I 상세 네트워크 인터페이스: ip addr 인터넷 연결 확인: ping google.com 종료: Ctrl + C 25. Raspberry Pi 시스템 정보 확인 hostname 확인: hostname 예: raspberrypi 커널 및 시스템 정보: uname -a 운영체제 정보: cat /etc/os-release 26. CPU 및 메모리 사용량 확인 실시간 시스템 상태: top 종료: q 또는 Ctrl + C 메모리 사용량: free -h 예: total used free Mem: 3.9Gi 500Mi 2.8Gi 27. 저장공간 확인 df -h microSD, SSD 등의 전체 용량과 사용량을 확인할 수 있다. 예: Filesystem Size Used Avail Use% /dev/mmcblk0p2 58G 7.2G 48G 14% 28. CPU 온도 확인 Raspberry Pi에서는 다음 명령어를 사용할 수 있다. vcgencmd measure_temp 예: temp=46.2'C 특히 Raspberry Pi 5를 사용할 경우 CPU 온도를 확인할 때 유용하다. 29. 시스템 패키지 목록 업데이트 Raspberry Pi OS는 Debian 기반이므로 apt 패키지 관리자를 사용한다. 패키지 정보를 업데이트하려면 sudo apt update 설치된 패키지를 업데이트하려면 sudo apt upgrade 보통 다음과 같이 순서대로 실행한다. sudo apt update sudo apt upgrade 30. sudo 란? Linux 명령어를 사용하다 보면 자주 등장하는 것이 sudo 이다. sudo 는 관리자 권한이 필요한 명령을 실행할 때 사용한다. 예: sudo apt update sudo reboot sudo poweroff 일반 사용자 권한으로 시스템 전체 설정을 마음대로 변경하지 못하도록 하고, 필요한 경우에만 관리자 권한을 부여하는 방식이다. 31. Mac에서 Raspberry Pi로 파일 보내기 SSH와 함께 scp 명령어를 사용하면 파일을 전송할 수 있다. 이 명령은 Raspberry Pi SSH 세션이 아니라 Mac 터미널에서 실행한다. 기본 형식: scp 파일 사용자@RaspberryPi:경로 예: scp test.py minwoo@raspberrypi.local:~/ 그러면 Mac의 test.py 가 Raspberry Pi의 홈 디렉터리로 전송된다. 32. Raspberry Pi에서 Mac으로 파일 가져오기 반대로 Raspberry Pi의 파일을 Mac으로 가져올 수도 있다. Mac 터미널에서: scp minwoo@raspberrypi.local:~/test.py . 마지막의 . 은 현재 Mac 터미널이 위치한 폴더 를 의미한다. 33. SSH 연결만 종료하기 Raspberry Pi 작업을 마쳤지만 Raspberry Pi 자체는 계속 켜두고 싶다면 exit 을 입력한다. 또는 Ctrl + D 를 사용할 수도 있다. 그러면 minwoo@raspberrypi:~ $ 에서 minwoo@MacBook ~ % 으로 돌아온다. 중요한 점은 exit 은 SSH 연결만 종료하는 명령어 라는 것이다. Raspberry Pi의 전원은 꺼지지 않는다. exit ↓ SSH 연결 종료 ↓ Mac으로 돌아옴 ↓ Raspberry Pi는 계속 실행 중 34. Raspberry Pi 재부팅 Raspberry Pi를 재부팅하려면 SSH 접속 상태에서 sudo reboot 를 입력한다. 그러면 SSH 연결이 자동으로 끊어진다. Mac │ │ sudo reboot ▼ Raspberry Pi 재부팅 │ ▼ SSH 연결 종료 잠시 후 다시 ssh minwoo@raspberrypi.local 로 접속하면 된다. Raspberry Pi 공식 문서에서도 명령줄 재부팅 명령으로 sudo reboot 를 안내한다. 35. Raspberry Pi 안전하게 종료하기 Raspberry Pi는 일반 컴퓨터처럼 운영체제를 사용한다. 따라서 전원 케이블을 바로 뽑으면 안 된다. microSD나 SSD에 데이터를 기록하고 있는 순간 전원이 끊기면 파일 손상 파일 시스템 오류 프로젝트 데이터 손실 심한 경우 OS 부팅 문제 가 발생할 수 있다. 따라서 전원을 제거하기 전에 반드시 Raspberry Pi OS를 먼저 종료해야 한다. 가장 간단한 명령어는 sudo poweroff 이다. Raspberry Pi 공식 문서에서도 명령줄에서 안전하게 종료하는 방법으로 sudo poweroff 를 안내한다. 36. Mac에서 SSH로 Raspberry Pi를 안전하게 끄는 순서 가장 중요한 실제 사용 순서는 다음과 같다. 먼저 Mac에서 접속한다. ssh minwoo@raspberrypi.local 작업을 진행한다. cd BioLoop-Pi python3 test.py 모든 작업을 마친 후 Raspberry Pi를 완전히 끌 예정이라면 sudo poweroff 를 실행한다. 그러면 SSH 연결이 끊어진다. 이후 Raspberry Pi의 디스크 접근과 시스템 종료가 완료된 것을 확인한 다음 전원을 제거한다. 전체 흐름은 다음과 같다. Mac Terminal │ │ ssh ▼ Raspberry Pi │ │ 작업 ▼ sudo poweroff │ ▼ Linux 정상 종료 │ ▼ SSH 연결 종료 │ ▼ Raspberry Pi 종료 확인 │ ▼ 전원 제거 37. exit 과 poweroff 의 차이 처음 Raspberry Pi를 사용할 때 가장 헷갈리기 쉬운 부분이다. SSH만 종료 exit 결과: SSH 연결 종료 Raspberry Pi 계속 실행 Raspberry Pi 종료 sudo poweroff 결과: Raspberry Pi OS 종료 SSH 연결 종료 Raspberry Pi 정지 정리하면 다음과 같다. 명령어 SSH Raspberry Pi exit 종료 계속 켜짐 Ctrl + D 종료 계속 켜짐 sudo reboot 끊김 재부팅 sudo poweroff 끊김 종료 38. shutdown 명령어 사용하기 Linux에서는 shutdown 명령어도 사용할 수 있다. 즉시 종료: sudo shutdown -h now 5분 후 종료: sudo shutdown -h +5 예약된 shutdown 취소: sudo shutdown -c 개인 Raspberry Pi 프로젝트에서는 보통 sudo poweroff 만 기억해도 충분하다. 39. Raspberry Pi 5의 전원 버튼 Raspberry Pi 5에는 이전 Raspberry Pi 모델과 달리 전원 버튼이 있다. Raspberry Pi OS에서는 전원 버튼을 이용한 종료 기능도 제공한다. 하지만 SSH로 작업하는 환경에서는 명령어로 sudo poweroff 를 실행하여 운영체제를 정상적으로 종료하는 습관을 들이는 것이 좋다. Raspberry Pi 5는 종료 후 저전력 soft-off 상태로 들어갈 수 있으며, 이 상태에서는 CPU와 대부분의 시스템 동작이 중지되지만 일부 전원 레일은 계속 활성화될 수 있다. 40. Raspberry Pi의 전원을 바로 뽑으면 안 되는 이유 Raspberry Pi는 microSD나 SSD에 지속적으로 데이터를 기록할 수 있다. 예를 들어 다음과 같은 작업이 백그라운드에서 발생할 수 있다. 로그 기록 파일 저장 패키지 업데이트 캐시 기록 프로그램 데이터 저장 이때 전원을 갑자기 제거하면 저장장치의 데이터가 완전히 기록되지 못할 수 있다. 따라서 항상 sudo poweroff 실행 후 종료가 완료된 것을 확인한 다음 전원을 제거하는 것이 좋다. 41. SSH 접속이 안 될 때 확인할 것 1. Raspberry Pi가 켜져 있는가? 먼저 전원이 정상적으로 공급되고 있는지 확인한다. 2. Mac과 Raspberry Pi가 같은 네트워크인가? 예를 들어 Mac ───── Home Wi-Fi │ Raspberry Pi ──┘ 같은 LAN에 연결되어 있어야 한다. 3. SSH가 활성화되어 있는가? Raspberry Pi에서 sudo raspi-config 를 통해 SSH가 활성화되어 있는지 확인한다. 4. hostname이 맞는가? hostname 으로 확인할 수 있다. 예: raspberrypi 이라면 ssh minwoo@raspberrypi.local 5. IP 주소로 접속해보기 Raspberry Pi에서 hostname -I 예: 192.168.0.15 Mac에서 ssh minwoo@192.168.0.15 42. Host key 관련 오류가 발생하는 경우 Raspberry Pi OS를 새로 설치한 뒤 SSH 접속을 시도하면 Mac에 예전 Raspberry Pi의 SSH 정보가 남아 있어 다음과 비슷한 오류가 나타날 수 있다. WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! Raspberry Pi를 직접 재설치해서 SSH key가 변경된 것이 확실하다면 Mac에서 기존 정보를 제거할 수 있다. hostname을 사용하는 경우: ssh-keygen -R raspberrypi.local IP를 사용하는 경우: ssh-keygen -R 192.168.0.15 그다음 다시 접속한다. ssh minwoo@raspberrypi.local 단, 자신이 Raspberry Pi를 재설치한 적이 없는데 갑자기 이 경고가 나타났다면 무조건 삭제하기 전에 접속 대상이 맞는지 확인하는 것이 좋다. 43. SSH 보안을 더 강화하고 싶다면 기본적으로는 사용자 이름 + 비밀번호 방식으로 SSH에 접속할 수 있다. 조금 더 익숙해진 이후에는 SSH Key를 이용하는 방법을 사용할 수 있다. Mac에서: ssh-keygen -t ed25519 SSH Key 방식은 비밀번호 방식보다 자동화하기 편하며 서버 프로젝트에서도 많이 사용된다. Raspberry Pi 공식 보안 문서에서도 SSH 보안을 강화하는 방법으로 key 기반 인증을 안내하고 있다. 처음 Raspberry Pi를 공부하는 단계에서는 우선 SSH 접속 → Linux 명령어 → 프로젝트 실행 → 안전 종료 흐름에 익숙해진 뒤 SSH Key 설정을 진행해도 충분하다. 44. 처음에는 이것만 기억해도 된다 실제로 처음 Raspberry Pi를 사용할 때 가장 자주 사용하는 명령어만 추리면 다음 정도이다. # Raspberry Pi SSH 접속 ssh minwoo@raspberrypi.local # 현재 위치 pwd # 파일 목록 ls # 폴더 이동 cd 폴더이름 # 상위 폴더 이동 cd .. # 홈으로 이동 cd ~ # 폴더 생성 mkdir 폴더이름 # 파일 내용 확인 cat 파일이름 # 파일 수정 nano 파일이름 # IP 주소 확인 hostname -I # 저장공간 확인 df -h # 메모리 확인 free -h # 패키지 정보 업데이트 sudo apt update # 패키지 업데이트 sudo apt upgrade # 재부팅 sudo reboot # Raspberry Pi 안전 종료 sudo poweroff # SSH 연결만 종료 exit 45. Raspberry Pi를 사용할 때의 기본 루틴 앞으로 프로젝트를 진행할 때는 다음 흐름을 습관처럼 사용하면 된다. 1. Raspberry Pi 전원 연결 Raspberry Pi ON ↓ 2. Mac Terminal 실행 ↓ 3. SSH 접속 ssh minwoo@raspberrypi.local ↓ 4. 프로젝트 폴더 이동 cd BioLoop-Pi ↓ 5. 프로젝트 상태 확인 ls 또는 Git 프로젝트라면 git status ↓ 6. 코드 작성 및 실행 예: nano test.py python3 test.py ↓ 7. Git에 기록 git status git add . git commit -m "Add sensor test" git push ↓ 8. 계속 Raspberry Pi를 켜둘 경우 exit ↓ 9. Raspberry Pi까지 끌 경우 sudo poweroff ↓ 10. 종료 완료 확인 후 전원 제거 이 흐름에 익숙해지면 Raspberry Pi를 모니터 없이도 대부분의 개발 작업에 사용할 수 있다. 46. 핵심 정리 Raspberry Pi를 Mac과 SSH로
What RADAR observed and classified to build this opportunity. It is what the source published, not a verification that the offer is still active.
01. Raspberry Pi SSH 기본 사용법 — Mac에서 접속부터 안전 종료까지. Raspberry Pi를 모니터와 키보드 없이 사용하려면 SSH(Secure Shell) 를 이용하는 것이 가장 편리하다. SSH를 사용하면 Mac의 터미널에서 Raspberry Pi에 접속하여 다음과 같은 작업을 할 수 있다. Raspberry Pi 파일 관리 Python/C 프로그램 실행 패키지 설치 Git 사용 네트워크 확인 시스템 상태 확인 Raspberry Pi 재부팅 Raspberry Pi 안전 종료 특히 Raspberry Pi를 서버나 임베디드 프로젝트용으로 사용할 경우 SSH는 거의 필수적으로 사용하게 된다. 1. SSH란? SSH는 Secure Shell 의 약자로, 네트워크를 통해 다른 컴퓨터의…
Open source