docker ssh 설치 및 sublimetext sftp & filezilla 연결하기
16 Jan 2020 | Docker sftpdocker 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