로컬에서 원격(ubuntu) 으로 파일 전송 - SCP 프로토콜
- 개발하고 있는 spring 애플리케이션을 .jar 파일로 압축해서 ubuntu 서버에 전송하고 실행하려한다.
- gradle의 'bootJar'를 실행하고 나면build/lib 안에 프로젝트를 압축한 .jar 파일이 생성된다.
- SCP(secure copy): SSH 프로토콜 기반으로 파일을 안전하게 전송하는 수단이다.
- SCP는 SCP 프로토콜 또는 SCP 프로그램을 가리킨다.
- Spring 프로젝트가 실행중인 폴더에서 cmd 창을 열고 다음 명령어를 실행하면 원격으로 파일을 전송할 수 있다.
- scp -i "pem파일경로" 원본파일주소 사용자@IP주소:/저장폴더
- IP주소: 원격 서버 주소를 의미한다.
- 000.000.000.000:~/ 라고 입력하면 자동으로 home 폴더에 저장된다.
SCP 명령어 - permission denied 에러
- ppk 파일에 대한 권한 설정을 강화하라는 경고가 뜬다.
- 원인: 명령어를 잘못된 폴더에서 실행했다.
-
- 파일을 보내서 저장시키기 위한 원격 서버의 폴더를 '~/'로 변경했다. 그러면 자동으로 home 폴더에 저장된다.
- PPK 파일 위치가 아닌 pem 파일 위치가 필요한다.
- power shell이 아닌 command prompt를 이용해야한다.
-
- 해결
- jar 파일이 위치한 폴더에서 scp 명령어를 실행한다.
- C:\프로젝트 루트 폴더\build\libs> scp -i "C:\펌키위치\cdcs.pem" 자르파일명.jar gabia_user@아이피주소:~/
- permission 이 거부되었다고 해서 권한 문제인 줄 알았으나 그게 아니라 명령어 문법과 명령어 실행 폴더 위치가 문제였다.
- jar 파일이 위치한 폴더로 이동해서 아래 scp 명령어를 실행한다.
- 패키지를 이동하고 명령어도 일부 수정했다.
PS C:\'jar 파일 위치한 폴더'> scp -i "C:\pem파일경로\파일명.pem" '파일명'.jar '서버에 접속하기 위한 ID'@'원격주소':/'폴더명'
scp: /'파일명'.jar: Permission denied
- 배포 완료
리눅스 명령어 참고 자료
https://bing-su-b.tistory.com/7
To do list
- MySQL 접속 오류 원인과 해결 방법
- ubuntu 서버 방화벽 설정
찾아보기
- con
- con
'강의 사이트 만들기' 카테고리의 다른 글
ubuntu 서버에서 gradle 버전 수정하기 (1) | 2023.10.15 |
---|---|
ubuntu 방화벽 설정 방법(ufw)과 MySQL 접속 및 주의사항 (0) | 2023.10.14 |
원격 서버(ubuntu)에 Java 설치, MySQL 서버 구축 (0) | 2023.09.20 |
Vue.js 3 프로젝트 세팅, VO / Entity / DTO 차이점 (0) | 2023.08.15 |
ERD, querydsl 세팅 (0) | 2023.08.08 |