[Linux] 원격 접속과 전송 실습

mommers·2026년 2월 2일

Linux

목록 보기
24/59

원격 접속과 전송

서버 관리의 기본 개념, 비밀번호 없이 접속하기(Key) 실습

  • ssh user@ip로 라즈베리 파이나 다른 PC 접속.
  • ssh-keygen으로 키 생성 후 ssh-copy-id로 전송 (비번 없이 로그인).
  • scp로 로컬 파일을 원격지로 전송 및 수신.

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
  1. Port 22 주석해제

  1. PasswordAuthentication yes 주석 해제 : 비밀번호 인증 허용

  2. 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 정상 작동


1. 내 컴퓨터 → 라즈베리 파이로 보내기 (업로드)

A. 파일 하나 보낼 때

# 사용법: scp [내파일] [계정]@[IP]:[저장할경로]
scp main.c pi@10.10.16.220:~/project/
  • 주의: IP 뒤에 콜론(:)을 꼭 찍어야 합니다.

B. 폴더 통째로 보낼 때 (-r)

폴더는 그냥 보내면 에러 납니다. -r (recursive) 옵션이 필수입니다.

Bash

# my_code 폴더를 통째로 전송
scp -r my_code pi@10.10.16.220:~/


2. 라즈베리 파이 → 내 컴퓨터로 가져오기 (다운로드)

순서만 바꾸면 됩니다. [서버에있는파일][내위치]

A. 파일 가져오기

# 사용법: scp [계정]@[IP]:[파일경로] [내컴퓨터저장위치]
scp pi@10.10.16.220:~/log.txt .
  • 마지막 점(.): "현재 내 터미널 위치에 저장해라"라는 뜻입니다. (이거 안 쓰면 에러 남).

B. 폴더 가져오기

scp -r pi@10.10.16.220:~/logs .


3. 자주 틀리는 옵션 (대소문자 주의)

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

예시 (포트가 2222번일 때):

scp -P 2222 main.c pi@10.10.16.200:~/
profile
임베디드 개발자가 되기 위해 공부중입니다!

0개의 댓글