기타

[VS Code] 비밀번호 없이 ssh 접속하기

F12:) 2024. 1. 11. 11:45

vs code로 개발 중인 서버에 ssh 접속을 할 때가 있는데, 왜인지 자꾸 비밀번호를 두번 묻는 것과 이러저러한 것이 귀찮아서 비밀번호를 입력하지 않는 방법이 없을까 하고 찾던 도중 key를 이용해서 비밀번호를 입력하지 않는 방법을 알아냈고, 이 방법을 정리한다.

 

 

1. key 발급

ssh-keygen -t rsa -b 4096

 

터미널에 위와 같은 명령어를 입력해주면, 경로나 여러가지를 묻는다. 이 때는 그냥 Enter를 쳐주어 기본 값으로 입력되게 하자.

 

나같은 경우는 이미 존재하였기 때문에 Overwrite 문구가 추가적으로 나온다.

 

여기서 빨간색으로 표시한 부분의 경로에 키가 발급되었음을 알 수 있다.

 

 

 

그렇게 되면 키가 발급되었다는 메세지가 나오게 된다. 그럼 ~/.ssh/로 이동하자.

 

cd ~/.ssh/

 

2. id_rsa.pub 복사하기

.ssh 폴더로 들어가게 되면 id_rsaid_rsa.pub이 보인다. id_rsa는 private key로써 우리가 갖고 있는 키이며 id_rsa.pub은 외부 서버에 입력해두는 키이다.

 

id_rsa.pub의 내용을 복사하여서 원하는 서버에 접속하여 해당 경로에 입력해주면 된다.

 

우선 서버에 이동 후, .ssh로 이동한다.

cd ~/.ssh/

 

그리고 vi를 통해서 authorized_keys라는 파일을 만들어준다.

vi authorized_keys

 

그 후, 해당 파일 안에 우리가 아까 복사해두었던 id_rsa.pub을 붙여넣어준 후 저장한다.

 

 

또는 scp를 이용해서 내 로컬 컴퓨터에서 원격으로 파일을 전송할 수도 있다.

scp ~/.ssh/id_rsa.pub [hostName]@[IP address]:.ssh/authorized_keys

 

여기서 hostName과 IP address는 자신에 맞게 값을 입력해주면 된다. 그러면 해당 서버에 내용이 옮겨지게 되었을 것이다.

 

3. config 파일 수정하기

아마 로컬 컴퓨터에 ~/.ssh/config 파일이  존재한다. 해당 파일을 열어 아래와 같이 변경해주자.

Host [alias]
    HostName [IP address]
    User [host name]
    IdentityFile ~/.ssh/id_rsa

 

 

기존에 vscode로 ssh 접속을 해왔다면 IdentityFile을 제외한 나머지는 아마 입력되어 있을 것이기 때문에 IdentityFile만 추가해주자.

 

4. 완료

이제 비밀번호를 묻는 과정이 생략된다. 야호!!