Public/Private Key생성
서버에 접속할때 매번 비번을 치고 들어가지 않아도 되도록 공개키(Public Key)와 비공개키(Private Key) 쌍을 생성합니다.
로컬에서
ssh-keygen -t ed25519 -C "사용자아이디@hotmail.com" -f ~/.ssh/vps8_key
그러면 이중 잠금 장치(비밀번호)를 걸겠냐고 물어봅니다. 우리는 편의성을 중요하게 생각하기 때문에 비번은 걸지 않겠습니다. 그냥 엔터 두번 치세요.
Enter passphrase for "/Users/사용자/.ssh/vps8_key" (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/사용자/.ssh/vps8_key
Your public key has been saved in /Users/사용자/.ssh/vps8_key.pub
The key fingerprint is:
SHA256:5RV9Zft3jXCgBIls4OgzOp7JExUeRS8sdB+rZoPAL2A 사용자이메일
The key's randomart image is:
+--[ED25519 256]--+
| .+* o.o. o. +|
|. .=o * +. . o..o|
|.Eo.++ + o o .o |
|o.ooo o o . o .o|
| .=o = S . . =|
| o.oo . o|
|o . |
|ooo |
| =. |
+----[SHA256]-----+
그냥 엔터를 치면 서버에 접속할 때마다 비밀번호를 입력할 필요가 없어 아주 편리하지만, 만약 누군가 내 컴퓨터의 vps8_key 파일을 훔쳐간다면, 그 사람은 즉시 내 서버에 접속할 수 있다는 단점이 있습니다. 보편적으로 “나만 쓰는 개인 컴퓨터”이고, 컴퓨터 자체에 암호가 걸려 있다면 그냥 엔터를 치는 것이 일반적입니다.
공개키는 서버에 저장
일단 위의 명령어를 실행했다면 해당 폴더에 Public key와 Private Key가 들어가 있을거에요. vps8_key.pub가 공개키입니다.
06:47 ~/.ssh$ l
total 32
drwx------@ 6 slim staff 192 Jun 20 06:47 .
drwx------@ 7 slim staff 224 Jun 20 06:39 ..
-rw-------@ 1 slim staff 411 Jun 20 06:47 vps8_key
-rw-r--r--@ 1 slim staff 101 Jun 20 06:47 vps8_key.pub
그 공개키를 서버의 ~/.ssh/authorized_keys 파일에 붙여넣으시면 됩니다.
접속
이제 로컬에서 ~/.ssh/config 파일을 열어서 서버정보를 입력하세요
Host my-host
HostName 서버주소
User 사용자
IdentityFile ~/.ssh/vps8_key
IdentitiesOnly yes
이제 서버에 접속하실때 간편하게 아래와 같이 명령하면 비번도 묻지 않고 바로 접속이 됩니다.
ssh 사용자아이디@my-host