docker ssh 설치 및 sublimetext sftp & filezilla 연결하기

|

docker images


: 현재 깔려있는 docker images 확인하기

docker ps [-a]


: 실행중인 컨테이너 확인하기

docker stop [컨테이너명]


: 실행중인 컨테이너 멈추기

docker commit [컨테이너명] [저장명]


: 현재 사용하던 컨테이너를 [저장명]의 새로운 docker image 로 생성함.

혹시 이미 사용중인 컨테이너의 포트를 열고 싶다면 stop 명령어로 정지시키고 commit 을 통해 새로운 이미지로 만든 뒤 아래 명령어인 run을 통해 새롭게 컨테이너를 만들며 포트를 열어줘야 한다.

nvidia-docker run -i -t -p [host port]:22 --name [컨테이너명] nvidia/cuda /bin/bash


: gpu 사용과 ssh 사용을 위한 컨테이너 만들기

22 port는 ssh를 위함.

여기서는 nvidia/cuda 이미지를 사용하기로 함.


컨테이너 안에서…

apt-get update


: 다 업데이트부터 진행 ㄱ

apt-get install nano


: nano 사용을 위해서 깔아줌…ㅎ

apt -get install ssh


: ssh 사용을 위해서 설치.

cd ~/

ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_dsa


: ssh 키 설치

mkdir /var/run/sshd


: sshd 폴더 생성

컨테이너 실행시 sshd가 자동으로 실행되도록 ~/.bashrc에 내용을 추가해준다.

nano ~/.bashrc 해서 아래의 내용을 추가해줌.

# autorun

/ usr/sbin/sshd


source ~/.bashrc

또는 source ~/.zshrc


: 변경 사항을 적용

간혹 sftp 에러가 뜨는 경우는 아래의 시도를 더해보자.

nano /etc/ssh/sshd_config 를 통해 sshd_config파일을 아래와 같이 수정.

기존에는 Subsystem 어쩌고를 주석처리하고

Subsystem sftp internal-sftp 를 새롭게 적어준다.


adduser [유저명]


: 유저를 새롭게 추가하고 따라나오는 화면을 따라 비밀번호를 입력한다.

usermod -aG sudo [유저명]


: 유저에게 root 권한을 부여함.


root 로 로그인하기

nano /etc/ssh/sshd_config

PermitRootLogin yes 로 바꾸기

/etc/init.d/sshd restart
에러나는경우
/etc/init.d/ssh restart


sublimetext3 에서 sftp를 설치하고 sftp-config.json 파일을 수정한다.

아까 22번 포트와 연결해둔 포트를 적고 remote_path도 적어준다.

그렇게 하고 remote 버튼을 통해 연결을 시도해본다.

혹시나 이런 에러가 뜬다면 위에 설정에 적은 r emote_path 의 권한이 부족해서 일 수 있다.

고로 다시 터미널로 돌아가 chmod 명령어로 접근권한을 바꿔주면 연결이 된다. :)


Filezilla 는 더 쉽다.

프로토콜을 SFTP로 설정하고 포트번호를 주고 로그인을 시도하면 된다!

참고 : https://m.blog.naver.com/alice_k106/220650722592

Comments