서버/DB운영

RSA 공개키를 이용한 SSH 접속

요즘 아마존 AWS나 여러 클라우드에 접속할 때에는 기존의 ID/PW 방식의 인증보다는 RSA공개키 암호를 사용해서 해당 서버에 공개키를 저장해두고, 본인은 개인키를 가지고서 접속하는 방식을 많이 사용한다.


간단한 사용법.


본인의 PC(macOS 또는 리눅스)에서 ssh-keygen을 사용한다.


$ ssh-keygen -f ~/.ssh/저장할파일명  -C  계정아이디@서버주소:포트


이제 ~/.ssh/ 디렉토리에는 luneos 라는 개인키(private key)파일과, luneos.pub라는 공개키(public key) 파일이 생성되어 있다.


원칙적으로 공개키 파일은 외부에 공개하는 용도이고, 개인키 파일만 잘 간직하면 된다. 어차피 본인만 사용할 것이라면, 둘다 어딘가에 숨겨놔도 크게 상관은 없다. 


이제 해당 서버에 직접 접속을 하던지, 아니면 관리자에게 요청을하던지 해서

좀전에 생성한 luneos.pub 파일을 그 서버 안에 저장해두어야 한다.

luneos.pub 파일의 내용을 클립보드에 복사해두었다가, 해당 서버의 home 디렉토리에 .ssh 을 생성하고 그 안에 authorized_keys라는 파일을 만든다. (이미 생성되어 있다면 append)

그럼 이제부터는 ssh 접속할 때 별도로 ID 와 패스워드를 입력할 필요 없이 아래와 같이 접속하면 된다.



가끔 어떤 서버는 RSA로 인증했는데도 불구하고 패스워드를 한번더 물어보는 경우가 있다. 이 때에는 

/etc/ssh/ssh_config 와 sshd_config에서 PasswordAuthentication 라는 옵션이 켜져있는지 확인해보면 된다.


Software Security Engineer

CPUU 님의 창작활동을 응원하고 싶으세요?

CPUU의 Daydreamin'
CPUU의 Daydreamin'
구독자 194

0개의 댓글

SNS 계정으로 간편하게 로그인하고 댓글을 남겨주세요.
새로운 알림이 없습니다.