생활코딩

Coding Everybody

코스 전체목록

닫기

로그인 없이 로그인 하기 (ssh key)

수업소개

ssh, rsync, git와 같은 기술을 사용할 때 로그인이 번거로우신가요? 보다 안전한 방법으로 인증하고 싶으신가요? 두가지 고민을 한꺼번에 해결하는 방법이 있습니다. ssh 공개키를 이용하면 편의성과 보안성 모두를 높일 수 있습니다.여기서는 ssh공개키를 이용해서 자동 로그인을 하는 방법을 알아보겠습니다. 

수업

강의 1

강의 2

강의 3

댓글

댓글 본문
  1. 열정jk
    220424 감사합니다
  2. 슈퍼우먼
    20220208완료
  3. labis98
    20210816 good!!!
  4. 홍주호
    20.5.29 완료
  5. ghkdgodydzz@gmail.com
    sdf
  6. 라또마니
    감사합니다. 자바 와 aws 에 이어 리눅스 기초도 여기서 마스터 했습니다.
  7. choon
    감사합니다.
  8. 세민스
    1. client가 server에 접속
    2. server가 random key값을 client에게 전송
    3. client가 random key값을 private키값을 이용해 암호화 한 후 server에게 전송
    4. server가 전송받은 암호화 키값을 기존에 가지고 있던
    client의 public key값을 이용해 복호화해 client에게 전송
    5. client가 처음에 받은 random key값과 마지막으로 서버가 public key로 복호화해
    client에게 전송한 key 값이 같으면 연결성공
  9. 뀨우
    강의3에서 복호화 하는 데 공개키가 아니라 개인키가 필요한 것이 아닌가요?

    1. 유저가 서버에 공개키 전송
    2. 서버는 관리자가 보낸 공개키인 지를 검증하기 위해 비밀번호 인증 요청
    (비밀번호를 안다면 서버에 직접 공개키를 입력해놓거나 ssh_copy_id를 통해 공개키 전송)
    3. 인증이 되면 공개키로 authorized_key를 암호화한 후 유저에게 전송
    4. 유저는 authorized_key를 유저 개인키로 복호화
    5. 이제는 비밀번호가 아닌 authorized_key를 대칭키로 사용하여 통신 진행

    제가 이해한 바로는 이렇게 되는 것 같은데 맞는지 궁금합니다.
  10. 넉대
    secure CRT 등으로 리눅스에 로그인 없이 로그인 하는 방법 아시면 간단하게 나마 좀 알려 주세요...
    그리고 저는 리눅스에 authorized_keys 파일이 없습니다.
    그냥 생성 하면 되나요?
  11. akakbb456@icloud.com
    리눅스에서 keygen을 사용하는게 결국 RSA방식인건가요?
  12. 유 진영
    감사합니다
  13. 쿠반
    원리에 대해서 어렵고 이해하는데 시간이 좀 걸렸지만
    알고보니 신기하고 재밌네요. 여러모로 유익한 내용이였습니다.
  14. 손양표
    로그인 시 ID/PW 를 입력하지 않지만, 보다 안전하게 자동으로 로그인하는 방법

    SSH 공개키, 비공개키를 이용한 로그인 방식

    SSH 키 생성 명령어
    ssh-keygen
    .ssh/id_rsa
    숨겨진 디렉토리 ssh/id_rsa 에 공개키와 비공개키 파일이 생성된다.
    이 키 파일은 랜덤하게 생성된 매우 강력한 비밀번호 파일이다.
    id_rsa 파일과 id_rsa.pub 파일이 생성된 보안 키 파일
    id_rsa.pub 파일명 중 pub는 public을 의미하며, 공개키(ssh public key)
    id_rsa 파일은 비공개키, 사설키(ssh private key)
    ssh private key vs ssh public key
    이중 비공개키인 id_rsa 파일은 어느 누구에게도, 절대로 노출되면 안 되는 키이다.

    공개키 파일 안에 있는 내용을 로그인하고자 하는 컴퓨터의.ssh/authorized_keys 파일에 추가.
    명령어는
    ssh-copy-id egoing@192.168.0.67
    (위 명령어에서 egoing@192.168.0.67은 로그인하고자 하는 컴퓨터)

    로그인하고자 하는 컴퓨터에 id_rsa_pub 공개키 파일을 저장하면, 비공개키를 가진 컴퓨터에서 공개키를 가진 로그인하고자 하는 컴퓨터에 ID/PW 입력 없이 자동으로 로그인 가능하다.
    접속 명령어는
    ssh egoing@192.168.0.67


    그렇다면, 언제 이러한 자동 로그인 기능이 필요할까?
    동기화를 할 때, 정기적으로 작업을 실행시킬 때
    가령 정기적으로 동기화를 하고자 한다면 유용...


    암호화 기술에는 대칭방식과 비대칭방식, 두 가지로 구분된다.
    대칭방식의 예로, 데이터를 암호화할 때 비밀번호를 입력했다면 이를 다시 복호화할 때 암호화할 때 입력한 비밀번호와 동일한 비밀번호를 입력해야 하는 경우이다.
    반면에,
    비대칭방식의 예로는
    암호화할 때에는 비공개키로 암호화하고, 복호화할 때는 공개키로만 복호화할 수 있는 경우이다.
    이러한 비대칭방식의 대표적인 기술이 RSA 기술이다.
    이런 RSA 기술을 응용함으로써 정보기술이 빠르게 발전할 수 있었다.


    SSH의 RSA 보안 기술
    1. SSH Client(이하 클라이언트)가 SSH Server(이하 서버)에 접속허락을 요청한다.
    2. 서버는 랜덤 키를 클라이언트에 보낸다.
    3. 클라이언트는 받은 랜덤 키를 비공개키를 이용해 암호화한 후, 암호화한 파일을 서버에 보낸다.
    4. 서버는 받은 암호화 파일을 공개키로 복호화한 후, 복호화한 파일이 클라이언트에게 보냈던 랜덤 키와 일치하면 접속을 허락한다.
  15. 폭스킴
    ssh-keygen // ssh-key 생성 (접속자)
    cat id_rsa.pub // rsa 공개키 열람 (접속자)
    ssh-copy-id egoing@192.168.0.67 // rsa 공개키를 egoing@192.168.0.67의 authorized_keys에 추가 (접속자)(접속대상 비밀번호 필요)
    cat authorized_keys // authorized_keys (접속대상)
    ssh egoing@192.168.0.67 // egoing@192.168.0.67에 로그인없이 로그인
  16. 예전에 이고잉님이 소개해주셨던 ssl 관련 만화입니다~
    http://minix.tistory.com/397

    rsa방식이 뭔지도 여기서 자세히 알려줍니다 ㅎㅎ
  17. Jushua Ahn
    감사합니다!
  18. lovetoken
    강의 감사합니다!
    전 맥과 리눅스가 탑제된 라즈베리파이 2개의 컴퓨터로 실습하고 있는데
    맥에서 .ssh 디렉토리의 경로가 약간 달라 해맸지만 잘 해결했네요 ㅎㅎ
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기