1. 개요
보통 ssh를 이용하여 원격시스템에 로그인을 할때는 아이디와 패스워드를 입력받아서 사용자 인증을 한다. 하지만 원래 ssh는 Private key 와 Public_key 인증 및 ssh agent 를 이용하여 서버에 패스워드 없이 로그인이 가능하다.
2. Private Key 생성하기
우선 nextcube.pe.kr 이란 서버에 root 계정에 대해서 설정할 것이다.
( nextcube.pe.kr 서버에 해당 키를 가진 사람이면 root 로 접근 할수 있다는것이다!)
처음의 물음 키파일의 생성 위치이다. 지정해줄수 있고 그냥 Enter를 치면 기본디렉토리
(/root/.ssh/id_rsa) 로 생성된다.
기본 디렉토리가 없을 경우 생성이된다.
passphrase 는 인증키에 대한 암호이다. 그냥 공백으로 만들수 있는데 이는 ssh 접속시 암호를 입력하지 않아도 되지만, 만약 인증키가 유출이 되었때를 대비해서 암호를 입력하도록 하자
이렇게 되면 키파일이 생성되었다.
3. 인증키 사용하기
키파일이 생성된 경로(/root/.ssh/id_rsa)로 가보자
id_rsa 와 id_rsa.pub 한쌍의 파일이 생성되었다. .pub 파일이 공개키이고 그냥이 비밀 키이다. (나의 경우는 내 컴퓨터의 Xshell 을 이용할거기 때문에 id_rsa 파일을 내 컴퓨터로 다운로드 받았다.)

Xshell 의 세 세션을 만들고, 사용자 인증에서 인증방법은 Public key로 선택한다
그리고 사용자 키를 찾아보면 아까 다운로드받은 키파일을 등록할수 있다.
만든 인증세션으로 접속을 시도해보자.
인증방식은 Public Key 방식이고 아까 등록한 id_rsa 키파일로 인증을 한다. 암호는 인증키 생성시 입력한 암호이다.
인증을 해보면 사용자 키가 서버에 등록되어있지 않다고 한다.
그럼 우선 서버에 접속해서
.ssh 디렉토리의 권한을 바꿔주고
id_rsa.pub 의 공개키 파일을 authorized_keys 라고 이름을 바꾸자
(이것이 서버에 키를 등록하는 것이다.)
혹시 이후도 접속이 안되면 authorized_keys 파일의 퍼미션을 아래와 같이 변경해보자

4. 결론
키파일을 이용한 인증방식은 암호입력시보다 안전하다. 그리고 인증키를 서버에 등록하므로써 여러 서버에 혹은 계정의 암호를 기억하지 않고, 인증키의 암호만으로 로그인이 가능하다.
(여러 서버 혹은 계정의 암호를 기억하기에 편하기 위해서 똑같이 설정하거나 비슷하게 설정하는 관리자의 무책임한 행동에 대한 탈출구 이다.)
리눅스마스터 1급 2차 16회 9번 문제
보통 ssh를 이용하여 원격시스템에 로그인을 할때는 아이디와 패스워드를 입력받아서 사용자 인증을 한다. 하지만 원래 ssh는 Private key 와 Public_key 인증 및 ssh agent 를 이용하여 서버에 패스워드 없이 로그인이 가능하다.
2. Private Key 생성하기
우선 nextcube.pe.kr 이란 서버에 root 계정에 대해서 설정할 것이다.
( nextcube.pe.kr 서버에 해당 키를 가진 사람이면 root 로 접근 할수 있다는것이다!)
ssh-keygen -t rsa
(/root/.ssh/id_rsa) 로 생성된다.
3. 인증키 사용하기
키파일이 생성된 경로(/root/.ssh/id_rsa)로 가보자
인증방식은 Public Key 방식이고 아까 등록한 id_rsa 키파일로 인증을 한다. 암호는 인증키 생성시 입력한 암호이다.
인증을 해보면 사용자 키가 서버에 등록되어있지 않다고 한다.
그럼 우선 서버에 접속해서
(이것이 서버에 키를 등록하는 것이다.)
혹시 이후도 접속이 안되면 authorized_keys 파일의 퍼미션을 아래와 같이 변경해보자
4. 결론
키파일을 이용한 인증방식은 암호입력시보다 안전하다. 그리고 인증키를 서버에 등록하므로써 여러 서버에 혹은 계정의 암호를 기억하지 않고, 인증키의 암호만으로 로그인이 가능하다.
(여러 서버 혹은 계정의 암호를 기억하기에 편하기 위해서 똑같이 설정하거나 비슷하게 설정하는 관리자의 무책임한 행동에 대한 탈출구 이다.)
리눅스마스터 1급 2차 16회 9번 문제
'공부 > 0x04 LINUX' 카테고리의 다른 글
| resize2fs (0) | 2010/04/21 |
|---|---|
| dd 명령어 (0) | 2010/04/21 |
| chattr 명령어 (0) | 2010/04/21 |
| mknod 명령어 (0) | 2010/04/21 |
| scp 명령어 (0) | 2010/04/18 |
| ssh 인증키를 이용한 로그인 (0) | 2010/04/18 |
| ssh-keygen 명령어 (0) | 2010/04/18 |
| xinetd 를 이용한 포트포워딩 (0) | 2010/04/15 |
| Samba의 smb.conf 파일 설정 (0) | 2010/04/14 |
| mysql configure (0) | 2010/04/14 |
| gzip 과 gunzip 명령어 (0) | 2010/04/14 |