블로그 이미지
핑크대지

태그목록

공지사항

최근에 올라온 글

최근에 달린 댓글

글 보관함

calendar

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

'Tip'에 해당되는 글 21

  1. 2009.04.16 [네트워크/토신] SSH public key 인증 만들기
  2. 2009.03.18 GIT commands

[네트워크/토신] SSH public key 인증 만들기

2009. 4. 16. 10:35 | Posted by 핑크대지

ssh public key 인증 만들기

리눅스 ssh v2 기준, 다른 서버로 접속할 때 암호 입력 안하고 하려면, 사용하는 방법.

은재님의 리눅스에도 있습니다. 봤던 기억이.(지금도 홈페이지 있는지 모름)

  1. public key 인증의 배경 지식

public key/ private key 인증방식의 원리는 이렇습니다.

암호화 하는 사람은 키를 두개 가지고 있습니다. 하나는 암호화와 복호화를 다 할 수 있고 다른 하나는 복호화만 할 수 있습니다.

암호화와 복호화를 다 할 수 있는 키를 개인키(private key)라고 하고 그건 자기만 갖고 있습니다.

복호화만 되는 키는 공개키(public key)라고 하고 이건 자기가 보낼 메시지를 받는 상대방에게 미리 전해줍니다.

물론 공개키가 가로채는 놈(hijacker)에 의해 알려지면 암호화된 메시지를 풀어볼 수 있겠지요.

그래서 공개키도 안전하게 미리 전달되도록 합니다. 이건 한번만 전송되니까 일단 가지고 있게 된 이후에는 문제 없겠지요

그래서 암호화된 메시지를 전달해주면 받은 쪽에서는 공개키로 풀어서 원래 메시지를 복구해냅니다.

public key


ssh의 public key 인증도 이런 방식을 사용한 방법중 하나입니다.

private key는 사용자가 가지고 있고, public key를 서버에 저장해둔 다음 이후 private key 인증만 미리 사용자 터미널에서 해 두면 서버에 접속할 때는 암호 입력 안하고 이 키를 가지고 통신합니다.

  1. private key, public key 쌍 만들기ssh-keygen이란 프로그램이 있습니다. man ssh-keygen 하면 설명을 볼 수 있습니다.

    하지만 일단 필요한 것은 그냥 ssh-keygen 을 실행하는 것 뿐

    [danielsong@chagall ~]$ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/danielsong/.ssh/id_rsa):
    Created directory ‘/home/danielsong/.ssh’.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/danielsong/.ssh/id_rsa.
    Your public key has been saved in /home/danielsong/.ssh/id_rsa.pub.
    The key fingerprint is:
    ….. danielsong@chagall

    이렇게 .ssh란 디렉토리가 만들어지고 id_rsa와 id_rsa.pub 파일이 만들어집니다.

    여기서 id_rsa는 자기만 갖고 있을 파일이고 id_rsa.pub은 다른 서버에 배포할 파일입니다.

    [danielsong@chagall ~]$ ls -l .ssh
    합계 16
    -rw——- 1 danielsong danielsong 1675  5월 21 14:43 id_rsa
    -rw-r–r– 1 danielsong danielsong  410  5월 21 14:43 id_rsa.pub

    .ssh 디렉토리의 권한은 다음과 같이 되어 있어야 합니다. 아니면 chmod 700 .ssh

    drwx——  2 danielsong danielsong  4096  5월 21 14:43 .ssh
  2. public key를 배포. authorized_keys접속할 서버를 봅시다. 거기 접속해서, .ssh 디렉토리가 있는 지 보고 없으면 만들고,

    authorized_keys 파일을 만듭니다. 권한은 다음과 같아야 합니다. 아니면 chmod 600 authorized_keys

    -rw——- 1 root root 1095 2008-04-01 18:16 authorized_keys

    열고서, 아까 id_rsa.pub 내용을 복사합니다.(키의 일부 내용은 생략했어요.)

    ssh-rsa …………B3……………………..AAAQE………….oh+l3b37g0ZVfkRcne+fPMx9i4NoFtRrRyCTACZDXA4rAFXS4Kx3NGAanQOVR5k2etHJdJBfD6Jo4+0Oj+yTvCmhD33NkB5SJ50gknLggdkQn+BjwJVj3BSWF+96kT9z7/z/bxqYP7q17wpSse132XwfxRBXR1zkTiivpOQxuOawJMwoo8+6gU9Bgfej5bMZy5NbWjczkXJYZwkOcG7JCAGozXjX9fpJ48rwkJ/4IbuRpzM14LHK7HF29CC24URQSix5xvjQ0ZCcMyprbFL5xAFc+yoSZV9Y18wDFJgRmcagGLte2sESOWalSSYDU3xR2gs7XQ== danielsong@chagall
  3. 접속

    서버에 접속해봅니다.

    [danielsong@chagall ~]$ ssh root@test_target
    Last login: Wed May 21 13:06:30 2008 from 147……[root@test_target .ssh]#

GIT commands

2009. 3. 18. 15:27 | Posted by 핑크대지
기본적으로 사용하는 몇 가지 commands !!!

git 클론 생성

git clone 아이디@주소:/패스


소스 업데이트
git pull


소스 수정
git add 파일패스
git commit -m "커멘트"
git pull
git push
ps. git add를 따로 하지 않고 한번에 git add . 와 같이 해도 되지만 찌끄러기들도 같이 들어가서 짜증이 날 때가...

머지 에러시! 롤백하기.
git fetch origin
git reset --hard origin
ps. 물론 수정한 소스는 어딘가에 보관하고 있어야겠죠.

누락되거나 건드렸나 등의 상태확인
git status