포스트

본체 Pc를 서버로 만들어 Ssh 접근하는 법

안쓰는 본체의 GPU 혹은 디스크 용량을 활용하고 싶다. 어떻게 안될까? ssh 원격 접근을 통해 클라우드 플랫폼 장비들을 이용하듯이 내 컴퓨터 본체를 서버 형태로 만들어보자.

현 상황

맥북의 Apple Silicon칩(m1, m2, m3) 환경에서 mps를 활용한 GPU 작업을 docker container 환경에서 할 때 문제가 생긴다.

  • local에서 torch tensor들을 mps 가속을 통해서 이용한다고 해도 linux 기반의 Docker에게 Mac 전용인 mps 장비는 외부 장비라 지원하지 않는다.
  • torch.backend.mps.is_available()과 –gpus all을 인지하지 못한다.

그렇다면 Mac OS 환경에서 코드 작업을 하고 GPU 달린 Window나 Ubuntu OS에 원격접근해서 nvidia 계열 gpu를 활용해 docker 환경 내 구동하는 코드 작업이 가능하게 해보자.

기본 환경

  • 서버가 될 본체
    • Ubuntu
    • GeForce GPU 장착
    • HDD 1TB
  • 접속할 클라이언트
    • mac m1 pro

SSH이란?

정의

  • Secure SHell의 약자로 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜 자체를 가르킨다. (출처 위키백과)

    특징

  • 22번 포트 사용
  • 암호화 기법을 사용하므로 통신이 노출돼도 암호화된 문자로 보임.
  • ftp, rsh, rlogin, telnet 등을 대체하기 위해 출시

본체 컴퓨터에 SSH 접속 허용 설정

  • 기존에 본체로 사용하던 컴퓨터는 가만히 있어도 SSH 설정이 되어있나?
    • 그렇지 않다. 보안상의 이유로 ssh 자체를 막았을 수도 있고 별도로 클라이언트 IP를 인가해야할 수도 있다.

      어떻게 허용하나?

      1. 우선 ssh 서버에 접근 요청을 날려보자
  • ssh {username}@{target_ipv4}
    • ssh command는 default로 22번 port를 이용한다.
      1. 안된다면 ssh 서버의 설정을 확인하자
  • openssh를 설치하고 설정하여 접근하는 것은 같다.
    • window의 경우: link
    • ubuntu의 경우: link

허용해서 접근했다면?

  • bashrc 혹은 zshrc에 alias를 추가해 편하게 접근하도록 변경해 놓을 수 있습니다.
  • 예시)
    • sshpass -p {계정비밀번호} ssh {접속계정}@{접속주소}

+참조한 글 https://hbase.tistory.com/328#google_vignette https://kaya-dev.tistory.com/10 https://ca.ramel.be/74

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.