요즘 아마존 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 라는 옵션이 켜져있는지 확인해보면 된다.


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