나의 즐겨찾기 | 블로그홈 | 바로가기 바로가기 | 로그인
이제 더위는 가고 젤 좋아하는 가을이 온당!!!
블로그  |  사진갤러리  |  동영상갤러리 방명록  |   즐겨찾기 추가
thisrule (thisrule1)
프로필     
 인기도 :
 이 블로그 점수주기
전체 글보기(69)
예준사진 목록
지우사진 목록
리눅스 팁 목록
기본폴더
예준 사진
지우 사진
가족사진
리눅스 팁
가요
설문
오늘 전체
방문자 59 35665
구독자 0 4
댓글 0 10
참조글 3 24
HanRSS 로 구독하기Fish 로 구독하기
2009 11월
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
최근 댓글 전체보기
압축파일에 대한 글 올..
윗글 출처 : 커피닉스..
열심히 하겠습니다
열심히 하겠습니다
열심히 하겠습니다
최근 참조글 전체보기
리눅스의 마스코트는 왜..
다녀간 블로거 더보기
- 소라게
- wonnychung
- 윤노털
- ritzcarltn
- 나에게로
 즐겨찾기
 즐겨찾기 글모음
개설일 : 2004/08/23
 

ssh 인증키 사용하기

인증키를 사용하는 것은 로그인 할때마다 암호를 직접 입력하는 것보다 더욱 안전하며, 하나의 암호로 여러 ssh서버에 접속할수 있는등의 장점을 가진다.

  • 인증키 만들기

    인증키는 ssh-keygen로 만든다. 키를 만들때는 사용할 키의 형태를 지정해 주어야 하는데 원격 서버가 ssh 프로토콜 버전 2를 지원한다면 ``rsa'' 또는 ``dsa'', 프로토콜 1만을 지원한다면 ``rsa1''을 사용한다.

    예를 들어 원격 서버가 ssh2를 지원하고, ``rsa'' 키를 만들고자 한다면,

    [ home@foo ]$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/foo/.ssh/id_rsa):

    키가 저장될 곳과 이름을 물어 오는데 디폴트로 그냥 엔터를 치고 넘어가면, 다음과 같이 인증키 암호를 물어온다. 원하는 암호를 두번 반복해서 입력해주면 키가 생성된다.

    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /home/foo/.ssh/id_rsa.
    Your public key has been saved in /home/foo/.ssh/id_rsa.pub.
    The key fingerprint is:
    64:09:73:19:9e:ac:a0:f7:aa:c3:08:f9:0e:5a:fe:61 foo@home.eunjea.org

    인증키 생성시 인증키 암호를 공백으로 (passphrase 를 물어올때 그냥 엔터를 치면 된다) 만들수도 있는데, 이것은 ssh 접속시 암호를 입력하지 않아도 그냥 접속이 되므로 편리할수는 있으나, 만약 당신의 인증키가 어떠한 경로로든 유출되었을 경우를 생각 해보면 피해야 할 것이다. 그리고 ssh-add와 ssh-agent를 사용하여 접속시마다 인증키 암호를 입력하지 않는 방법이 있다.

  • 공개 키 사용하기

    이제 ~/.ssh/ 안에 한쌍의 키(id_rsa 와 id_rsa.pub)가 생성되어 있을것이다. .pub 확장자가 붙은 것은 공개키로 이 파일을 접속할 리모트 서버들의 ~/.ssh/ 에 authorized_keys 라는 이름으로 복사해준다.

    [foo@home silver]$ scp ~/.ssh/identity.pub silver@gate.eunjea.org:.ssh/authorized_keys

    이제 ssh 접속을 진행 해보면 계정암호가 아닌 인증키 암호를 물어볼 것이다. 만약 계정 암호를 물어본다면 원격 서버상의 ~/.ssh 디렉토리나 공개키 권한의 문제이므로, 일단 접속후 chmod 755 ~/.ssh 그리고 chmod 644 .ssh/authorized_keys 해준다.

    rsa1 방식의 ssh1 프로토콜의 사용할 것이라면 ssh-keygen -t rsa1 으로 키를 만들고, 공개키 (identity.pub)를 같은 방법으로 원격 서버의 ~/.ssh/authorized_keys 에 추가해 주면 된다.

    키 파일을 다른 이름으로 저장했거나 서버마다 다른 키를 사용하려면 ssh에 -i 옵션을 사용해 키 파일을 직접 지정해 주면 된다.

  • 인증키를 메모리에 상주 시키기

    다음 방법으로 인증키를 메모리에 기억시켜 두면 처음 한번만 인증키 암호를 입력하면 다음부터는 암호를 입력하지 않아도 같은 인증키를 사용하는 모든 서버들에 접속할수 있다.

    [foo@home silver]$  eval  $(ssh-agent) [Enter]
    다음과 같은 메세지를 보여줄 것이다.
    Agent pid 31234
    이제 ssh-add 를 입력하면
    Identity added: /home/silver/.ssh/identity (silver@home.eunjea.org)

    이제 인증키를 복사해둔 ssh서버에 접속하면 이 세션에서는 더 이상 암호를 묻지 않을 것이다.

서버가 지원한다면 되도록 SSH2 프로토콜을 사용하도록 한다. SSH2는 SSH1과는 전혀 다른 프로토콜이며 더욱 안전하고, 성능이 좋다.

 

이은상 2004.08.26  15:05  [211.110.140.177]

열심히 하겠습니다

답글쓰기
이은상 2004.08.26  15:08  [211.110.140.177]

열심히 하겠습니다

답글쓰기
이은상 2004.08.26  15:11  [211.110.140.177]

열심히 하겠습니다

답글쓰기

댓글쓰기

댓글쓰기 입력폼

포스트 목록 닫기

목록보기