상세 컨텐츠

본문 제목

[Python] pycharm에서 ubuntu 원격 서버 ssh로 접속하기

Implement/__Setting

by 2_54 2022. 3. 29. 13:08

본문

회사에서 amazon sagemaker를 이용해서

학습을 진행했었는데

 

성능 좋은 gpu 인스턴스를 빌려서

며칠동안 학습시켰더니

요금 폭탄..!! 을 맞았다!!! 

ㅠㅠㅠㅠㅠㅠㅠ

 

그래서 결국 

그래픽카드를 새로 구매하고, 

노트북에 달려있는 그래픽카드도 사용하기로 했다..

 

우선 노트북에 달려있는 그래픽 카드를 사용하기 위해!

ubuntu에 원격으로 접속을 하려고 한다

 

우선 나의 작업 환경은

MAC M1을 사용하고 있고 (맥북 에어)

맥 터미널을 이용하여 할 것이다 

아마 윈도우도 cmd 사용해서 똑같이 하면 될 것 같음!

 

아! 그리고 나의 경우에는

관리자 권한 없이 진행하는 것이기 때문에

다른 사람들과 조금 다를 수 있음!


터미널 프로그램에서 ssh로 원격 접속을 하기 위해서는

서버의 아이디와 비밀번호, 접속할 IP와 포트 정보를 알아야한다.

서버의 아이디는 접속할 ubuntu 계정의 아이디와 password를 말하고,

IP 또한 원격 접속할 ubuntu 환경의 IP를 말하는 것이다.

 

정보를 다 알고 있다면

터미널을 켜서 

 

ssh [ubuntu ID]@[서버 IP] -p [포트번호]

를 입력한다!

 

예를 들어

rosa@154.154.154.154 -p 22

이런 식이다.

 

그리고 비밀번호를 입력하라고 할텐데

그 때 입력한 ubuntu ID에 대한 비밀번호를 입력하면 된다.

 

그러면 우선 접속은 끝!

여기서 에러가 떴다면 정보가 잘못되었을 가능성 99%!!

 

이제 pyenv 설치를 할건데

https://github.com/pyenv/pyenv-installer

 

GitHub - pyenv/pyenv-installer: This tool is used to install `pyenv` and friends.

This tool is used to install `pyenv` and friends. Contribute to pyenv/pyenv-installer development by creating an account on GitHub.

github.com

에 들어가서 

install 명령어를 그대로 터미널에 입력하면 된다. 

(당연한거지만 서버에 접속된 상태로!!)

이 부분!!

 

그리고 나의 경우에는 

https://github.com/pyenv/pyenv#basic-github-checkout

 

GitHub - pyenv/pyenv: Simple Python version management

Simple Python version management. Contribute to pyenv/pyenv development by creating an account on GitHub.

github.com

에 있는

이 부분도 추가로 진행해줬다.

(그대로 복붙하면 됨)

 

여기 쯤이었나..! 기억을 더듬어보자면

pyenv설치를 하고 python설치를 하려고 했는데 안되었나..!

아무튼 중간에 오류가 계속 떴었는데

 

접속을 끊었다가 다시 접속해주니까

해결되었다! 

재부팅을 해줘야 설치가 완료되는 모양이다.

 

그러면 일단 pyenv 설치는 다 되었고

python 설치를 해야한다.

원하는 버전별로 설치를 하면 되는데 

 

pyenv --list

를 입력하면 설치할 수 있는 버전이 나온다!

 

거기서 골라서 설치를 진행하면 된다.

나의 경우에는 3.8.12를 설치!

 

pyenv install 3.8.12

 

설치가 끝나면

ubuntu에 기본적으로 깔려있는 pyhon이랑

방금 설치한 python이랑 두 버전이 있는데

아마 기본적으로 깔려있는 python이

기본 값으로 되어있을 것이다.

 

방금 설치한 python 버전으로 바꿔주기위해

python global 3.8.12

 

그리고 pipenv도 설치해준다.

pip install -U pipenv

pyenv rehash

그리고 이제 가상환경을 생성할건데~

 

mkdir [폴더이름]

cd [폴더이름]

pipenv install --python 3.8

 

순서대로 입력한다!

그럼 이렇게 잘 완료되는 것을 확인할 수 있다

 

이제 pycharm으로 넘어가자!

 

서버-pycharm 연동을 해줄건데

이 과정은 서버당/Pycharm 설치당 한 번만 해주면 된다!

 

Pycharm - preferences.. 로 들어가서 (윈도우의 경우 file- settings)

Tools - SSH Configurations 에서 

+ 눌러서 접속할 서버의 정보를 입력해준다.

Host - 접속할 서버의 IP 주소

Port - 포트 번호

User name - 접속할 ubuntu ID

password - ubuntu 계정 비밀번호

 

다음으로 인터프리터를 설정해주자

이 과정은 새로운 프로젝트를 만들 때마다 수행해줘야 함!

 

Project - Python Interpreter 에 들어가서

오른쪽 상단 톱니바퀴를 눌러 Add... 고고!

그런 다음 + 를 눌러서 추가해줄거다.

SSH Interpreter 를 누른 후

아까 설정해준 서버로 접속하기 위해

Existing server configuration을 누른다. 

SSH configuration 쪽 화살표를 누르면 아까 설정해준 서버가 나올 것이다.

그리고 next를 누르면

캡쳐는 못했지만 아마

interpreter에서 python 경로를 지정해줘야 할텐데

아까 생성한 가상환경 내의 python 경로로 지정해주면 된다.

 

케바케이겠지만 나의 경우에는

/home/{account계정]/.local/share/virtualenvs/{아까만든폴더} 안에 있었다.

 

그다음 

sync folders 는 

서버에 파일 저장할 경로를 지정해주면 된다.

(아까 만든 폴더)

 

그리고 실행할 python파일을 run했을 때

ssh://계정@ip주소/python경로 -u /실행한 파일 경로

이렇게 나오면 잘 된 것이다!

 

개발하면서 주의해야할 점이 

pycharm 은 파일들만 동기화를 해주고

패키지 등의 실행 환경은 동기화를 해주지 않는다.

수시로 서버에서 pipenv sync 를 이용하여

수동 동기화를 해주는 것이 필요하다!


그럼 끝!

반응형

관련글 더보기

댓글 영역