아래 자료에서는 컨테이너를 조회해서 찾아서 들어간다.
(컨테이너에 따로 포트를 열수없는 등의 문제가 있을 경우 아래 방법을 추천한다.)
https://24hours-beginner.tistory.com/278
한번 설정해놓으면 최근 작업에서 바로 바로 들어갈 수있지만 그래도 귀찮을 수 있다.
ssh 설정을 통하여 바로 Container에 접근 하는 방법을 알아보자
컨테이너말고도 그냥 ssh 연결도 똑같이 수행하면 연결된다.
1. 준비물
컨테이너
openssh-server
프로그램
vscode extension
vscode extension은 각 사이트에서 다운로드 받거나 확장을 클릭하여 검색 후 다운로드 받을 수 있다.
확장 들어가기
1. 보기 - 확장
2. Ctrl+Shift+X
3. (확장)을 클릭
ssh 연결용
Docker Container 연결용 (선택) (여기선 필요없음)
Dev Containers (vscode extension)
※ 참고 ※
구) Remote - Containers(vscode extension)
주소는 https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers
로 동일하나 이름이 바뀌었다.
그래서 예전에 명령어도 remote-containers 로시작 되었으나
지금은 dev-containers 로 조회 된다.
# remote container not showing # remote containers 안보임
2. ssh 설정
컨테이너 접속
docker exec -it 컨테이너명 bash
등으로 컨테이너를 접속한다.
openssh-server 설치
이미 설치되어 있다면 skip 가능
apt update
apt install openssh-server
ssh config 수정
/etc/ssh/sshd_config 의 속성을 아래와 같이 바꿔준다.
vim /etc/ssh/sshd_config
port : 원하는 포트로 설정
PermitRootLogin yes
PubkeyAuthentication yes
# /etc/ssh/sshd_config
...
# default value.
Include /etc/ssh/sshd_config.d/*.conf
Port 2022
#AddressFamily any
...
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
PubkeyAuthentication yes
# Expect .ssh/authorized_keys2 to be disregarded by default in future.
...
ssh 시작 (sshd 시작)
# 상태 확인
service ssh status
# 시작하기
service ssh start
# 재시작하기
service ssh restart
※ 이때 status 했는데 ssh is not runnging 이라면 port가 이미 사용중이진 않는지 확인해볼것
★ root 비밀번호 설정 ★
이미 설정되어 있다면 pass
passwd
New Password:
Retype new password:
passwd: password updated successfully
외부포트 개방
각 서버에 포트를 열어주어야 한다.
이건 서버의 보안에 따라 달라 생략한다.
3. ssh 연결
config 작성
C:\Users\사용자\.ssh 의 config 파일 또는
vscode에서 명령어 팔레트에(ctrl+shift+p) 아래를 검색하여 들어간다.
>원격-ssh: 호스트에 연결
>remote-ssh: connect to host
그러면
C:\Users\사용자\.ssh\config 파일이 열리는데
제일 간단하게는 아래와 같이 적는다.
Host test_container
HostName test.iptime.org
User root
Port 2022
들여쓰기를 잘 해야한다.
Host : alias (별명 / 참조용)
user : 접속 user (아마 컨테이너는 root거나 따로 해줬을 경우 그 username)
hostname : 서버 ip 또는 dns 주소
port : 아까 위에서 적용한 port거나 포트포워딩으로 따로 처리해준 port
4. 접속
Remote Explorer 클릭
왼쪽 메뉴에 있어야하나 없는 경우 extention을 설치하거나
왼쪽 메뉴바에서 오른쪽 클릭하여 비활성화 되어있지는 않은지 확인해보고,
귀찮으면 명령어 팔레트에 >show remote-explorer 쳐도 찾을 수 있다.
ssh 새고로침
처음에 remote explorer를 접속했을 경우 리스트업이 안되어있을 수 있으니 새로고침을 해준다.
그러면 아래와 같이 등록된 리스트가 나온다.
새 창에서 호스트에 연결
비밀번호 입력
기다리기
처음에 연결할 경우 서버를 읽어와야해서 시간 좀 걸린다. 아래 ssh 호스트 설정: vs code server 다운로드 중이 없어질때 까지 기다리자.
연결완료
Opening Remote... 가 사라지고 연결시도하였던 주소가 왼쪽하단에 나타난다면 연결이 끝났다.
파일 경로설정?
초기엔 Open Folder를 눌러서 파일을 열 경로를 설정해주면 접속 끝
끝.
여기서 작업하면 이제 된다.
오류 Error
접속 잘 되다가 안되는 경우
1. 컨테이너가 꺼졌다가 다시 켜지는 경우 옵션이 달라질 수 있다.
/etc/ssh/sshd_config 파일을 한번 더 확인해보자.
2. 윈도우 기준 C:\Users\사용자\.ssh
폴더에 known_hosts 파일에 들어서가서
해당 ssh 연결을 지운 후 다시 연결시도를 해보자.
참조
https://24hours-beginner.tistory.com/254?category=815685
https://24hours-beginner.tistory.com/256?category=815685
https://24hours-beginner.tistory.com/278?category=815685
'Tool > VS Code' 카테고리의 다른 글
[VS Code] Shell server terminated (code: 255, signal: null) XSL (4) | 2023.01.09 |
---|---|
[VSCode] VSCode 원격 서버 연결 장애 (feat. Remote SSH) (0) | 2022.12.22 |
[VS Code] VS Code 터미널 열리지 않음 (0) | 2022.02.08 |
[vscode] aws ec2 ssh 접속하기 (feat. Windows) (2) | 2022.01.28 |
[VSCode] SSH 연결하기 (+ Docker Container 접근) (3) | 2021.12.02 |