ssh pub key 서버 로그인 간단히 하기 및 ssh key 생성 및 등록 방법
ssh key 는 Secure Shell 의 약자로 다른 컴퓨터(서버)에 로그인 하고 명령을 실행하는 방법을 제공하는 프로토콜 및 응용프로그램을 말하는 것 입니다. 기존의 telnet, rsh 의 보안을 위해 만들어진 것이지요.
그런데 ssh key 는 매번 로그인 때 마다 비밀번호를 요구하고 하는 방법을 사용하지 않아도 로그인 할 수 있게 만들어줍니다.
그럼 먼저 ssh key 를 생성하는 방법을 알아야겠죠? ssh key를 생성하는 방법은 기본적으로 Ubuntu 에 설치가 되어 있는 명령어로 생성합니다.
$ ssh-keygen -t rsa
-t 옵션은 암호화 방식을 지정하는 것 입니다. (일반적으로 rsa 가 사용됩니다.)
이후 나오는 문장을 읽어보고 엔터를 치면 모든 과정이 끝납니다.
생성이 된 key를 확인해 보려면
$ cat ~/.ssh/id_rsa.pub
라고 입력하면 생성된 ssh public key를 볼 수 있습니다.
그럼 이 파일을 서버에 저장해 놓으면 로그인 할 때 마다 비밀 번호를 넣지 않아도 된다고 하는데 서버에는 어디에 어떤 방법으로 넣어야 할까요?
일반적으로 ssh public key 를 서버에 저장하는 방법은 scp 를 사용하여 저장하거나 서버에 로그인 후 ~/.ssh/authorized_keys 파일을 직접 edit 하여 저장할 수도 있습니다. authorized_keys 파일은 서버에 접근할 수 있는 client 의 public key를 모아두는 파일입니다.
이 파일을 전송하기 위해서 scp 를 사용한다면
$ scp ~/.ssh/id_rsa.pub server_id@serverIP:~/client_rsa.pub
라고 입력하여 server로 client의 public key 파일을 복사할 수 있습니다.
이후 서버에서 ~/.ssh 폴더가 없다면 만들어주고 permission 은 700 으로 ($ chmod 700 .ssh) 설정하여줍니다.
그리고 client_rsa.pub 파일을 서버의 ~/.ssh/authorized_keys 파일에 추가해 줍니다.
$ cat client_rsa.pub >> ~/.ssh/authorized_keys
이 후 ssh 접속시 password 를 입력할 필요 없이 서버에 접속 할 수 있습니다.
이렇게 하는 과정을 더 쉽게 하기 위해서는 ssh-copy-id 라는 명령어를 사용할 수 있습니다.
$ ssh-copy-id server_id@serverIP
라고 입력하면 비밀번호를 물어본 후 자동으로 client 의 ~/.ssh/id_rsa.pub 파일을 서버에 ~/.ssh/authorized_keys 추가하여 줍니다.
특정 위치의 public key를 사용하고 싶다면
$ ssh-copy-id -i pub_key server_id@serverIP
명령을 사용하면 됩니다.
이상 ssh pub key 서버 로그인 간단히 하기 및 ssh key 생성 및 등록 방법에 대한 글 이였습니다.
Makefile 문법 쉽게 설명하기. (기본적인 make file 문법 설명) (0) | 2014.02.20 |
---|---|
Ubuntu 에서 Secure Shell ssh terminal 사용시 id 지정하기와 ssh 명령어 option (0) | 2014.02.07 |
Pushd popd 명령어 사용법 (0) | 2013.11.30 |
grep 의 종류와 사용법 (egrep fgrep) (0) | 2013.10.22 |
Gerrit & LDAP & Active Directory 설정 cofiguration (0) | 2013.09.08 |