본문 바로가기

개발/기타

SSH Key로 비밀번호 없이 로그인 하기 (feat. VScode에서도 써보기)

반응형

안녕 Editplus

Editplus 4버전을 구매해서 썼었는데 5버전이 나왔길래 업데이트 했더니 시리얼키를 다시 넣으라고 한다.

4버전과 5버전은 시리얼키가 호환이 안된다능  😭

Editplus와 vscode를 번갈아가며 썼었는데 Editplus를 이제는 놓아줘야 할 것 같다.

그렇다고 4번을 계속 쓰기엔 뭔가 맘에 안들.. 쿨럭;

 

 

 

 

신세계를 맛보다

SSH에 비밀번호를 입력 안해도 접속이 되는 신세계가 있다. 와우!!!!!!! 🤩

첨 써보고 깜놀!!!! 이 좋은걸 이제 알았다니!!!!! 흑흑..

vscode에 계정 비밀번호를 입력 해 놓기 좀 찝찝해서 접속 할때마다 비밀번호를 입력하기가 넘나 구찮았었는데!!

이젠 구찮음 안녕~~~ 😎

 

 

 

 

SSH KEY?

SSH Key로 로그인을 하기 위해선 공개키(Public Key)와 비밀키(Private Key)가 어쩌구 저쩌구 하는데,

공개키는 서버에 넣어두고 비밀키(나만 가지고 있어야 하는 키)로 열고 들어간다고 보면 될 것 같다.

비밀번호를 매번 입력하는 대신에 말이지.

 

그럼 한번 만들어보자! 😤

 

 

 

 

SSH Key 생성하기(윈도우10 기준)

키보드 win + r 버튼 눌러 powershell을 실행 해 줍니다.

 

그담에 ssh-keygen으로 키를 생성하는 명령어를 입력 합니다.

화면으로 보면 이렇게.. (ssh-keygen은 git을 설치해야 사용할수 있다고 하네요.)

PS C:\Users\playon> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\playon/.ssh/id_rsa): <엔터> ⓐ
Created directory 'C:\Users\playon/.ssh'.
Enter passphrase (empty for no passphrase): <엔터> ⓑ
Enter same passphrase again: <엔터> ⓒ
Your identification has been saved in C:\Users\playon/.ssh/id_rsa.
Your public key has been saved in C:\Users\playon/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:StI25QLXXXXXXXXXXXXXXXXXXXXXXXXXXXX playon@playon-pc
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|     .   o   o   |
|      o * o .    |
| . = + * o o     |
|  . = B S o o    |
+----[SHA256]-----+
PS C:\Users\playon>

ⓐ 키 파일을 저장할 위치를 입력합니다. 걍 엔터치면 기본으로 적용된 폴더에 생성합니다.

ⓑ 키를 사용할때 필요한 일종의 비밀번호를 입력합니다. (비밀번호 없이 그냥 로그인하려면 걍 엔터)

ⓒ 위에 입력한 비밀번호와 같은 비밀번호를 확인차 다시 입력합니다.

 

ⓑ 에서 비밀번호를 입력하는 이유는 비밀키가 유출됐을 경우 ⓑ에서 입력한 비밀번호를 알아야 비밀키를 사용할수 있기 때문입니다. 보안상 더 좋겠죠? 이 비밀번호를 계정 비밀번호와는 다릅니다.

예를들어 계정 비밀번호는 playon 인데 ⓑ에서 비밀번호를 onplay 라고 입력 했으면 ssh key로 로그인 할때 onplay라고 입력하고 로그인을 하는 것이지요.

 

키 파일이 만들어졌나 확인 해 봅니다.

PS C:\Users\toc> ls .ssh

id_rsa 와 id_rsa.pub 파일이 잘 만들어졌습니다. id_rsa파일은 비밀키이고 id_rsa.pub파일은 공개키입니다.

비밀키인 id_rsa는 꼭 나만 갖고 있고 외부에 알리거나 유출되면 안되니 신경 써 주시면 됩니다.

 

 

 

 

SSH Key 서버에 업로드(scp 이용)

내 PC에서 생성한 SSH Key를 서버에 업로드해야 공개키와 비밀키를 비교해서 로그인을 할 수 있습니다.

서버에 업로드 해 보겠습니다.

 

scp 명령어는 이렇게 사용하면 됩니다.

scp id_rsa.pub <계정아이디>@<호스트>:id_rsa.pub

 

우선 .ssh 폴더로 이동 후 명령어를 입력하겠습니다.

PS C:\Users\playon> cd .ssh
PS C:\Users\playon\.ssh> scp id_rsa.pub playon@myhostname.com:id_rsa.pub
The authenticity of host 'myhostname.com (111.222.333.444)' can't be established.
RSA key fingerprint is SHA256:23iWesRqXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
Are you sure you want to continue connecting (yes/no)? ⓐ
Warning: Permanently added 'playtoc.com,111.222.333.444' (RSA) to the list of known hosts.
playon@myhostname.com's password: ⓑ
id_rsa.pub · · · · · · · · · · · · · · · · · · · · · · 100%  397 · · · 38.8KB/s · · · 00:00
PS C:\Users\playon\.ssh>

ⓐ 접속 할거니깐 yes 입력

ⓑ 계정 비밀번호 입력

하면 id_rsa.pub 파일이 잘 올라갔습니다.

 

 

 

 

SSH Key 파일 등록하기

이제는 서버(계정)에서 진행합니다. 서버에서 진행하려면 우선 계정에 접속을 해야겠죠?

PS C:\Users\playon\.ssh> ssh playon@myhostname.com
playon@myhostname.com's password: ⓐ
Permission denied, please try again.
playon@myhostname.com's password: ⓐ
$ ls
id_rsa.pub ⓑ
$

ⓐ 계정비밀번호 입니다.

ⓑ 위에서 scp로 업로드한 id_rsa.pub 파일이 잘 있습니다.

 

그담에 .ssh 라는 디렉토리를 만들어야 합니다. 그리고 퍼미션은 700

$ mkdir .ssh
$ chmod 700 .ssh

 

그담에 공개키를 authorized_keys 에 등록을 해줍니다. 그리고 퍼미션은 600

$ cat id_rsa.pub >> .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

 

그리고 계정 연결을 종료하고 다시 접속을 해 보죠!! 🙄

 

 

 

🙈 SSH Key 생성하기(윈도우10 기준) ⓑ에서 비밀번호를 입력한 경우

PS C:\Users\playon\.ssh> ssh playon@myhostname.com
Enter passphrase for key 'C:\Users\playon/.ssh/id_rsa': ⓐ
Last login: Mon Jul 13 13:31:49 2020 from 111.222.333.444
$

ⓐ 위에서 입력했던 비밀번호를 입력해야 접속이 됩니다. (계정 비밀번호 아니구요!)

 

 

🙊 SSH Key 생성하기(윈도우10 기준) ⓑ에서 비밀번호를 입력하지 않은 경우

PS C:\Users\playon\.ssh> ssh playon@myhostname.com
$

바로접속!!!!!!!

매우매우 편해졌습니다. 😆

 

 

다음엔 vscode랑 연동하는 방법을 알아보겠습니다. (언제가 될지......😴)

 

 

 

 

반응형