새소식

IDE/VSC(Visual Studio Code)

visual studio code(VSC) ssh로 라즈베리파이에 접속하여 코딩하기

  • -

1. Remote - SSH 설치

vsc를 켜고 extension 관리 창에 들어가서 remote 검색 후 'Remote - SSH' 다운로드

 

2. ssh configuration 설정

그러면 오른쪽에 Remote Explorer이 생기는데 클릭!!

 

Remote Explorer 위에 있는 '+' 버튼을 누르면 아래와 같이 SSH 연결 명령 입력이라는 창이 나오게 됩니다
ssh 계정@ip 형식으로 입력합니다

 

그리고 configuration을 저장할 위치를 선택합니다

 

저는 .ssh/config 경로에 저장하였습니다

config 저장 완료!!

 

2.1 ssh 기본 포트가 22가 아닌 경우 설정

만약 기본 포트가 22가 아니라 다르게 설정되어 있다면 아래와 같이 진행합니다
톱니바퀴 모양을 눌러주어 config 파일을 열어줍니다

 

Host VSC_내의_서버_별명
  HostName 서버IP_또는_도메인
  User 서버접속계정
  Port ssh포트(default: 22)

22가 아닌 경우에는 위와 같이 Port를 따로 명시해주면 됩니다

 

3. ssh 연결

그러면 위 처럼 추가가 된 것을 보실 수 있습니다
오른쪽의 폴더+ 버튼 처럼 생긴게 있는데 눌러주시면 연결을 시도합니다

 

3.1 platform 선택

저는 라즈베리파이에 연결하므로 Linux를 선택합니다

 

3.2 SHA key

SHA key?가 있다면서 액세스를 여시겠습니까 나와서 계속을 눌러주었습니다

 

3.3 서버 접속 계정 비밀번호 입력

비밀번호를 입력해주면 연결 준비가 끝납니다

 

처음 연결을 위해서는 설치해야될게 있는 것 같습니다
시간이 조금 걸립니다

 

4. 폴더 연결

설치가 다 끝나게 되면 VSC가 새로 하나 뜨게되며 위와 같은 창이 나오게 됩니다
그런데 Open Folder를 눌렀는데 아무 반응이 없더라구요...

 

왼쪽 아래에 보면 Open... 어쩌구 뜨면서 처음 연결 시 시간이 좀 걸리는 것 같았습니다 (사실 정상이라면 바로 연결 됨)
정상적으로 연결 되면 위 처럼 SSH:ip하고 나오게 됩니다 (그런데 이 경우는 에러가 발생했음에도 위와 같이 나옴...ㅠㅠ)

 

5. vsc remote-ssh 연결 에러

그런데 처음에 에러가 발생했습니다
여기서 보니까 에러 내용은 다음과 같았습니다

Failed to set up socket for dynamic port forward to remote port 44841: Socket closed. Is the remote port correct?

보니까 ssh 설정 중에 AllowTcpForwarding 설정이 yes로 되어있어야 한다고 합니다
아래와 같이 바꿔주면 됩니다

 

sudo vim /etc/ssh/sshd_config

#/etc/ssh/sshd_config
...
AllowTcpForwarding yes
..

 

sudo systemctl restart ssh

그리고 ssh를 재시작 해줍니다
그리고 위 과정을 다시 반복하여 연결하면 연결이 잘 됩니다!!

 

6. 폴더 연결

오른쪽의 open folder를 누르면 위 처럼 폴더를 선택하여 로컬의 폴더처럼 연결하여 사용할 수 있습니다
다만 현재 존재하지 않는 폴더로는 연결하지 못하는것 같습니다

 

폴더에 연결하였습니다!! (연결할때 비밀번호를 한 번 더 물음)
그러면 1번에서 현재 로컬처럼 파일들에 접근이 가능하고 생성도 가능합니다
2번에서 기존 vsc 사용하는 것처럼 편집 가능합니다
번에서 연결한 서버의 terminal을 그대로 사용할 수 있습니다. 제가 설치한 shell로 잘 보여지네요

 

7. 키 발급 받기

키를 발급 받아 서버에 키 파일을 넣어두게 되면 매번 비밀번호를 입력하지 않고 연결할 수 있습니다

Windows PowerShell을 열고 key 생성을 위한 명령어를 입력해줍니다

ssh-keygen -t rsa -b 4096

중간에 몇 가지 묻는 것들이 나오는데 모두 엔터눌러주시면 됩니다
그리고 아래 명령어를 입력해줍니다

 

Get-Content .\.ssh\id_rsa.pub

그러면 key 파일이 정상적으로 생긴 것을 확인할 수 있습니다
그러면 해당 파일의 내용을 cat으로 출력하여 ~/.ssh/authorized_keys에 저장해주시면 됩니다
아래 명령어를 입력합니다 (user와 ip는 각자 맞게 입력)

 

cat ./.ssh/id_rsa.pub | ssh <user>@<host> "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"

그러면 이제 비밀번호 입력 없이 vsc를 통해 접속할 수 있습니다. 확실히 편하긴 합니다 ㅎㅎㅎㅎ

 

참고

https://jstar0525.tistory.com/14

 

[VScode] VScode로 SSH를 통해 원격서버 접속하기

VScode로 SSH를 통해 원격서버 접속하기 이번에는 visual studio code로 SSH를 통해 원격서버에 접속하여 remote 방법을 알아보겠습니다. 0. VScode 설치 https://code.visualstudio.com/download Download Vi..

jstar0525.tistory.com

https://stackoverflow.com/questions/60507713/vscode-remote-ssh-connection-failed

 

VSCode Remote SSH Connection Failed

I'm trying to use the Remote-SSH extension to edit files on a Debian server. The SSH connection is established correctly but then I get an error message : Failed to connect to the remote extension...

stackoverflow.com

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.