강의 사이트 만들기

Spring 애플리케이션을 원격(ubuntu)에 전송하기

계란💕 2023. 10. 14. 22:19

 


로컬에서  원격(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 파일에 대한 권한 설정을 강화하라는 경고가 뜬다. 
  • 원인: 명령어를 잘못된 폴더에서 실행했다. 
      1. 파일을 보내서 저장시키기 위한 원격 서버의 폴더를 '~/'로 변경했다.  그러면 자동으로 home 폴더에 저장된다. 
      2. PPK 파일 위치가 아닌  pem 파일 위치가 필요한다. 
      3. 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