서버 관리의 기본 개념, 비밀번호 없이 접속하기(Key) 실습
ssh user@ip로 라즈베리 파이나 다른 PC 접속.ssh-keygen으로 키 생성 후 ssh-copy-id로 전송 (비번 없이 로그인).scp로 로컬 파일을 원격지로 전송 및 수신.scp (Secure Copy)는 SSH를 이용해 네트워크로 파일을 주고받는 명령어입니다.가장 중요한 공식은 scp [보낼것] [받을곳] 순서입니다.
받을 ip 주소 확인 ifconfig
sudo apt install net-tools 를 통해 깔아줌
IP Address : 172.21.223.182 확인

파일을 받을 환경에서는 SSH 서버를 켜줘야 한다.

sudo apt install openssh-server
// 이후 /etc/ssh/sshd_config 수정
sudo nano /etc/ssh/sshd_config
Port 22 주석해제
PasswordAuthentication yes 주석 해제 : 비밀번호 인증 허용

PermitRootLogin no 추가 : root 로그인 금지

위 과정까지 다 끝냈다면
sudo service ssh start // ssh 키기
sudo service ssh status // 상태 확인

+ 방화벽 이슈 추가
⭐Window PowerShell 관리자의 권한으로 실행 이후 아래 명령어 입력
New-NetFirewallRule -DisplayName "WSL SSH" -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow
// 이후 아래 내용으로 확인
Get-NetFirewallRule -DisplayName "WSL SSH"


# 기존 규칙 삭제
Remove-NetFirewallRule -DisplayName "WSL SSH"
# 모든 프로필에 대해 새로 추가
New-NetFirewallRule -DisplayName "WSL SSH" -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow -Profile Any
# 확인
Get-NetFirewallRule -DisplayName "WSL SSH" | Select-Object DisplayName,Enabled,Profile,Direction,Action



sudo service ssh restart
sudo service ssh status
이제 test 용도로 raspi -> wsl ssh 접속을 해보면

잘 되는것을 확인할 수 있다.

근데 여기서 또 막히네요.. 나중에 다시 정리
raspi -> wsl 실패, wsl -> raspi 정상 작동
# 사용법: scp [내파일] [계정]@[IP]:[저장할경로]
scp main.c pi@10.10.16.220:~/project/
:)을 꼭 찍어야 합니다.
-r)폴더는 그냥 보내면 에러 납니다. -r (recursive) 옵션이 필수입니다.
Bash
# my_code 폴더를 통째로 전송
scp -r my_code pi@10.10.16.220:~/

순서만 바꾸면 됩니다. [서버에있는파일][내위치]
# 사용법: scp [계정]@[IP]:[파일경로] [내컴퓨터저장위치]
scp pi@10.10.16.220:~/log.txt .
.): "현재 내 터미널 위치에 저장해라"라는 뜻입니다. (이거 안 쓰면 에러 남).
scp -r pi@10.10.16.220:~/logs .

| 옵션 | 설명 | 주의사항 |
|---|---|---|
-r | 폴더 복사 | 소문자 r. 이거 없으면 "not a regular file" 에러 뜸 |
-P | 포트 지정 | 대문자 P. SSH 포트가 22번이 아닐 때 사용. (ssh 명령어는 소문자 -p라서 헷갈림 주의) |
예시 (포트가 2222번일 때):
scp -P 2222 main.c pi@10.10.16.200:~/