Ubuntu 18.04 서버안의 Docker(도커) container(컨테이너)에서 프로젝트를 테스트하고 있는데
vim밖에 사용이 안된다.
그래서 windows환경에서 연결하여 작업을 해보고자 vscode로 ssh연결을 시도하였다.
1. 준비물
Remote Development(vscdoe extension)
Remote - SSH(vscdoe extension)
Remote - WSL(vscode extension) (선택)
Docker Container 연결용
Remote - Containers(vscode extension)
docker
vscode extension은 각 사이트에서 다운로드 받거나 확장을 클릭하여 검색 후 다운로드 받을 수 있다.
확장 들어가기
1. 보기 - 확장
2. Ctrl+Shift+X
3. (확장)을 클릭
2. SSH 관리 파일 수정
1> vscode에서 아래 방법(명령어 팔레트/원격창열기) 중 한개를 통해 SSH 관리 파일을 열기를 한다.
Open SSH Configuration File...
- 명령어 팔레트
- Ctrl+Shift+P
- 보기 - 명령어 팔레트
- 도움말 - 모든 명령 표기
- 원격 창 열기
- vscode 좌측 하단 >< 모양 클릭
2> 내 PC의 config 파일을 선택합니다. (C:\Users\사용자명\.ssh\config)
3> 처음이면 아무것도 없다.
아래와 같이 설정을 작성 후 저장
들여쓰기도 꼭 해주어야 한다.
Host [계정명]@[IP 주소]:[포트번호]
HostName [IP 주소]
User [계정명]
Port [포트 번호]
Host test@192.168.0.1:22
HostName 192.168.0.1
Port 22
User test
3. ssh 접속
명령어 팔레트에서 Remote-SSH: Connect to Host... 을 찾아서
등록한 host 선택
액세스 허용
원격지 host의 OS를 선택
컨티뉴 선택
비밀번호 입력
ssh 접속 Error
근데 여기서 이상한점이 있는데 내가 입력한 user이름이 아니라 내 windows 사용자 이름(begin)으로 접속 시도가 되는 경우
ex) config엔 test@192.168.0.1:22 로 작성되어 있으나 접속은 begin@192.168.0.1:22 로 시도
1. code의 원격 탐색기 창에서 새로고침을 한 이후 다시 시도하면 된다. 라는 글이 있었고
하지만, 파일을 저장하고, code 의 원격 탐색기 창에서 새로고침을 한 이후에 다시 시도하니, 제대로 설정한 사용자로 로그인을 물어 접속할 수 있다. (원격 탐색기 창이란, code 의 오른쪽에 수동으로 설정한 config 파일 내용을 다시 UI 로 보여주는 부부을 말한다.)
출처: https://daewonyoon.tistory.com/317 [알락블록]
2. config 파일에서 Host를 적을때
Host [계정명]@[IP 주소]:[포트번호]
Host test@192.168.0.1:22로 적어야 하는데 여기서 계정명을 누락한 경우 그런 현상이 일어난다.
4. SSH 접속 완료 확인
근데.. 여기까지하면 원격 컴퓨터의 폴더라던가 터미널 접근이 가능하지만
컨테이너 내의 폴더에는 접근이 불가능하다.... 왓더..ㅠ
그럼 도커내의 폴더에 접근하려면 어떻게 해야할까?
5. 컨테이너내의 폴더에 접근하기 (Docker)
Docker Container 연결용
1. 일단 Docker용 준비물을 추가로 install헤준다.
2. SSH에서 접근한 상태에서 원격접속기에서 Containers를 클릭한다. (비밀번호 다시 적어주기)
3. 에러는 좀 더 아래쪽으로 내려가자
그러면 아래와 같이 접속된 컨테이너 목록이 로딩되며 (시간 조금 걸림)
3. 컨테이너를 오른쪽 클릭하거나 위와 같이 우측 Attach to Container 아이콘을 클릭하여 연결할 수 있다. (비밀번호 다시 적어주기)
그러면 아래와 같이 컨테이너에 접속이 되며 (시간 조금 걸림)
처음 로딩하였을때에는 아무것도 안뜨며 그래서 탐색기(Ctrl+Shift+E)로 가서 폴더 열기를 눌러보면
접속할 폴더를 선택할 수 있으며 확인을 누르면 (비밀번호 다시 적어주기 X 2)
폴더 트리가 로딩되며 접속이 가능하게 되는것이다.(시간 조금 걸림)
끝~
error 리스트 안나옴 (Shell server terminated (code: 255, signal: null) XSL)
https://24hours-beginner.tistory.com/424
컨테이너 직접적으로 연결하기
https://24hours-beginner.tistory.com/391#ssh_config_%EC%88%98%EC%A0%95
[error] permission denied
root 계정이 아닌 경우 권한 문제로 튕기는 경우가 있다. 그럴 경우 권한을 주면 된다.
sudo usermod -aG docker [username]
참조
Error : 비밀번호 맞는데 3번 치고 안될 때
Client ~/user/.ssh/known_host : notepad++로 열어서 해당 port 삭제
# client
# ~/user/.ssh/known_host : notepad++로 열어서 해당 port 삭제
vim ~/user/.ssh/known_host
Server에서 passwd 설정
# server
passwd
'Tool > VS Code' 카테고리의 다른 글
[VS Code] VS Code 터미널 열리지 않음 (0) | 2022.02.08 |
---|---|
[vscode] aws ec2 ssh 접속하기 (feat. Windows) (2) | 2022.01.28 |
[vscode] 원격지 docker container 연결하기 (WSL) (0) | 2021.10.22 |
[vscode] 원격지 docker container 연결하기 (0) | 2021.10.21 |
VSCode 단축키 설정 / 변경 (window)(내가 많이 쓰는 Visual Studio Code 단축키 ) (0) | 2019.12.16 |