나의 상황은 사설 아이피의 Windows 개발 PC와 공인 아이피의 리눅스 Linux 서버 간의 파일 교환이 필요한 상황이었다.
당연히 리눅스로는 공인아이피이기에 다양한 방법으로 전송이 가능하겠지만 내 피시로 다시 파일을 받아야 하는 경우엔 몇몇 방법으로는 불가능한 상황이었다. 때문에 찾아본 SCP
윈도우10이상부터는 디폴트로 설치되는 것 같았다.
사용법은 간단하다.
파일을 어디로 옮기고 싶든지 Windows에서 커맨드 창을 연다 (옮겨야 할 파일이 있는 경로에서 열면 더 편하다)
1. Windows to Ubuntu
scp -p [ssh포트] [Windows파일경로] [Ubuntu계정]@[Ubuntu IP]:[Ubuntu파일경로]
scp -P 3022 .\test.tar.gz user@222.111.222.111:/tmp/test.tar.gz
* 파일경로는 full path로 적어줘도 되고 "./"를 붙일 경우 cmd의 현재 경로기준이다.
* 리눅스 쪽에서도 동일한 파일명을 사용할 예정이면 :/tmp/ 까지만 적어줘도 가능하다
* 이 명령어를 입력하면 password를 물어보는데 리눅스 user의 password를 적어주면 된다
* 폴더채로 옮기고 싶은 경우 "-r" 명령어를 사용하면 된다 (scp -P 3022 -r ./tmp user@222.111.222.111:/tmp)
* 리눅스의 권한이 부족한 경로에는 복사할 수 없다 그래서 tmp폴더를 chmod 777로 권한을 풀어준 뒤 사용했다
2. Ubuntu to Windows
scp -P [ssh포트] [Ubuntu계정]@[Ubuntu IP]:[Ubuntu 파일경로] [Windows파일경로]
scp -P 3022 user@222.111.222.111:/tmp/test.csv '.\test.csv'
* 위와 동일하게 Windows에서 커맨드창으로 입력하되 파라미터의 순서가 다르다.
* 이때도 비번은 Ubuntu 계정의 비밀번호를 입력해 준다.
* C:\program files 같은 곳은 권한이 필요하기에 커맨드 창을 관리자 권한으로 실행해 줘야 옮길 수 있다.
너무 편하다 ㅠㅠ
끝.
'운동하는 개발자 > Linux' 카테고리의 다른 글
Linux 서비스 로그 확인 (journalctl) (0) | 2024.04.21 |
---|---|
Linux to Linux 파일 전송 (SCP) (0) | 2024.03.25 |
윈도우와 리눅스 바이트 값 차이 / AES_KEY 값 다름(feat. 엔디언) (0) | 2022.08.07 |
ln 명령어 파일링크 (리눅스 바로가기만들기) (0) | 2022.02.10 |
리눅스의 작업스케줄러 crontab 사용법 (0) | 2021.07.18 |