프로그래밍/General

SCP로 두 컴퓨터간 파일 옮기기 (Windows open ssh 설정)

Lou Park 2022. 7. 10. 06:37

핵넷이라는 게임은 해커가되어 여러 컴퓨터를 넘나들며 scp 명령어를 통해 파일을 빼오는 게임인데, ㅋㅋㅋ그냥 생각나서 사진 첨부해봤다. 이번에 쓰던 맥북의 성능이 모자라다고 느껴서 게임용인 윈도우즈 노트북으로 개발 디바이스를 옮겼는데 맥북이 드디어 팔렸다!

그래서 몇몇 프로젝트들이나 원래 맥북에있었던 중요 파일들을 옮기는 작업을 진행중에 글을 쓰게되었다.

 

scp

scp는 secure copy의 약자로, 네트워크를 통해 두 호스트간의 파일을 복사한다. 데이터 전송에 SSH를 사용하기때문에 SSH와 동등한 보안수준을 제공한다. 

 

아래는 간단한 명령어 예시이다.

# file을 원격지의 ~/Documents에 복사
scp <file> <user>@<host>:/Documents

# file1, 2를 원격지의 ~/Documents에 복사
scp <file1> <file2> <user>@<host>:/Documents

# dir 디렉토리와 안의 내용을 ~/Documents에 복사
scp -r <dir> <user>@<host>:/Documents

 

Windows ssh 서버 실행

Windows 컴퓨터에 ssh로 접속하기 위해서는 Open SSH 서버를 추가로 설치해주어야하는데, 아래 절차를 따라주자.

설정 > 앱 > 선택적 기능 > 기능 추가 > Open SSH 서버 > 설치

설치가 완료되었다면, 관리자 권한의 Powershell에서 ssh server를 실행시켜준다.

# ssh server 실행
Start-Service sshd
# 윈도우 시작시 sshd 자동 실행
Set-Service -Name sshd -StartupType 'Automatic'

이제 내부 IP로 ssh 접속해보면 Windows 컴퓨터를 열 수 있을 것이다.

* Windows 컴퓨터로 파일을 복사할때는 /대신 backslash(\)를 사용해야함에 주의하자!

 

유용한 scp 옵션

  • -p 원본파일의 변경 시간, 접근 시간, 퍼미션 보존
  • -r 하위 디렉토리 및 파일까지 복사
  • -P <port> 포트 지정, SSH 포트가 22번이 아닐때 사용

 

https://itwiki.kr/w/%EB%A6%AC%EB%88%85%EC%8A%A4_scp