ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [μš©μ–΄μ •λ¦¬] SSH(Secure Shell)
    πŸ’» IT Study/Knowledge 2022. 5. 23. 00:20

    μ‹€λ¬΄μ—μ„œ ν•˜λŠ” ν”„λ‘œμ νŠΈμ—μ„œ μš΄μ˜μ„œλ²„λ₯Ό 관리할 λ•Œ SSH에 μ ‘μ†ν•΄μ„œ κ΄€λ¦¬ν•˜κ³  μžˆλ‹€. 

    μ΄ν΄λ¦½μŠ€μ—μ„œ λΉŒλ“œ ν›„ λΉŒλ“œν•œ νŒŒμΌμ„ SSH에 압좕을 ν’€κ³  μš΄μ˜μ„œλ²„ 둜그λ₯Ό ν™•μΈν•˜λŠ” λ“± μš΄μ˜μ„œλ²„μ™€ κ΄€λ ¨ν•œ 일을 ν•œλ‹€.

    맀일 SSH에 μ ‘μ†ν•˜μ—¬ 일을 ν•˜λŠ”λ°λ„ κ°œλ…κ³Ό 원리에 λŒ€ν•΄ μ •ν™•νžˆ μ•Œκ³ μžˆμ§€ μ•Šμ•„ ν¬μŠ€νŒ…μ„ ν•˜κ²Œ λ˜μ—ˆλ‹€ ..!

    μ—¬κΈ°μ„œλŠ” κ°„λž΅ν•˜κ²Œ 무엇인지 정도λ₯Ό μ•Œμ•„λ³΄λ €κ³  ν•œλ‹€. 


    μ‹œνμ–΄ μ…€(Secure Shell)은 λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œ 쀑 ν•˜λ‚˜λ‘œ

    컴퓨터와 λ‹€λ₯Έ 컴퓨터가 인터넷과 같은 Public Networkλ₯Ό 톡해 μ„œλ‘œ 톡신을 ν•  λ•Œ λ³΄μ•ˆμ μœΌλ‘œ μ•ˆμ „ν•˜κ²Œ 톡신을 ν•˜κΈ°μœ„ν•΄ μ‚¬μš©ν•˜λŠ” ν”„λ‘œν† μ½œμ΄λ‹€. 

     

    λŒ€ν‘œμ μœΌλ‘œ 데이터λ₯Ό μ „μ†‘ν•˜κ±°λ‚˜ 원격 μ œμ–΄λ₯Ό ν•  λ•Œ μ‚¬μš©ν•œλ‹€. 

    데이터 μ „μ†‘μ˜ μ˜ˆλ‘œλŠ” 원격 μ €μž₯μ†ŒμΈ GitHub이 μžˆλ‹€. μ†ŒμŠ€ μ½”λ“œλ₯Ό 원격 μ €μž₯μ†ŒμΈ GitHub에 pushν•  λ•Œ SSHλ₯Ό ν™œμš©ν•΄μ„œ νŒŒμΌμ„ μ „μ†‘ν•œλ‹€. μ›κ²©μ œμ–΄μ˜ μ˜ˆλ‘œλŠ” ν΄λΌμš°λ“œ μ„œλΉ„μŠ€κ°€ μžˆλ‹€. ν•΄λ‹Ή μ„œλΉ„μŠ€ 이용 μ‹œ AWS의 μΈμŠ€ν„΄μŠ€ μ„œλ²„μ— μ ‘μ†ν•˜μ—¬ ν•΄λ‹Ή 머신에 λͺ…령을 내리기 μœ„ν•΄μ„œ SSHλ₯Ό 톡해 μ ‘μ†ν•œλ‹€. 

     

    λ‹€λ₯Έ ν”„λ‘œν† μ½œμ΄ μ•„λ‹Œ SSHλ₯Ό μ‚¬μš©ν•˜λŠ” μ΄μœ λŠ”  λ³΄μ•ˆ 이닀. 

    기쑴의 μœ λ‹‰μŠ€ μ‹œμŠ€ν…œμΈ Shell에 μ ‘μ†ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λ˜ Telnet은 λ―Όκ°ν•œ 정보λ₯Ό 직접 λ„€νŠΈμ›Œν¬λ₯Ό 톡해 λ„˜κΈ°κΈ° λ•Œλ¬Έμ— νƒˆμ·¨λ  μœ„ν—˜μ΄ λ†’λ‹€. κ·ΈλŸ¬λ‚˜ SSHλŠ”  μ•”ν˜Έν™” 기법 을 μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ— 톡신이 λ…ΈμΆœλœλ‹€κ³  ν•˜λ”λΌκ³  이해할 수 μ—†λŠ” μ•”ν˜Έν™”λœ 문자둜 보인닀. 


    How do you communicate?

    SSHλŠ” λ‹€λ₯Έ 컴퓨터와 톡신할 λ•Œ 일반적으둜 μ‚¬μš©ν•˜λŠ” λΉ„λ°€λ²ˆν˜Έ μž…λ ₯을 톡해 μ ‘μ†ν•˜μ§€ μ•ŠλŠ”λ‹€. 

    기본적으둜 SSHλŠ” ν•œ 쌍의 Keyλ₯Ό 톡해 μ ‘μ†ν•˜λ €λŠ” 컴퓨터와 인증 과정을 κ±°μΉœλ‹€. 

    이 KeyλŠ” Public Key와 Private Key둜 이루어진닀. 

    Public Key

    Public KeyλŠ” κ³΅κ°œλ˜μ–΄λ„ 비ꡐ적 μ•ˆμ „ν•œ Key이닀. Public Keyλ₯Ό 톡해 λ©”μ‹œμ§€λ₯Ό μ „μ†‘ν•˜κΈ° 전에 μ•”ν˜Έν™”λ₯Ό ν•œλ‹€. Public KeyλŠ” μ•”ν˜Έν™”λŠ” κ°€λŠ₯ν•˜μ§€λ§Œ λ³΅ν˜Έν™”λŠ” λΆˆκ°€λŠ₯ν•˜λ‹€. 

    Private Key

    이와 μŒμ„ μ΄λ£¨λŠ” Private ν‚€λŠ” μ ˆλŒ€λ‘œ 외뢀에 λ…ΈμΆœμ΄ λ˜μ–΄μ„œλŠ” μ•ˆλ˜λŠ” Key이닀. 본인 컴퓨터 내뢀에 μ €μž₯λ˜μ–΄ μžˆλ‹€. 이 Private Keyλ₯Ό 톡해 μ•”ν˜Έν™”λœ λ©”μ‹œμ§€λ₯Ό λ³΅ν˜Έν™”ν•œλ‹€. 

     

     

     

    ν•œ 쌍의 ν‚€λŠ” μ„œλ‘œ 맀우 λ³΅μž‘ν•œ μˆ˜ν•™μ  관계λ₯Ό λ§Ίκ³ μžˆλ‹€. 이λ₯Ό μ΄ν•΄λŠ” 것이 SSH Key의 핡심이닀. 

    Key 생성 μ‹œ Public Key와 Private Keyκ°€ μƒμ„±λœλ‹€. 이 λ•Œ Public KeyλŠ” ν΄λΌμ΄μ–ΈνŠΈμ—, Private KeyλŠ” μ„œλ²„μ— μœ„μΉ˜ν•œλ‹€.

     

    1. Public Keyλ₯Ό ν†΅μ‹ ν•˜κ³  μžˆλŠ” 컴퓨터에 λ³΅μ‚¬ν•˜μ—¬ μ €μž₯ν•œλ‹€. 

    2. μš”μ²­μ„ λ³΄λ‚΄λŠ” ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄νŠΈ 컴퓨터에 접속 μš”μ²­μ„ ν•  λ•Œ, 응닡을 ν•˜λŠ” μ„œλ²„ μ‚¬μ΄νŠΈ 컴퓨터에 λ³΅μ‚¬λœλ‹€.

    3. μ €μž₯된 Public Key와 ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄νŠΈμ— ν•΄λ‹Ήν•˜λŠ” Public Key와 μŒμ„ μ΄λ£¨λŠ” 지 Private Key와 λΉ„κ΅ν•˜μ—¬ ν•œμŒμ˜ Key인지 κ²€μ‚¬ν•œλ‹€. 

     

    즉, ν΄λΌμ΄μ–ΈνŠΈκ°€ κ³΅κ°œν‚€λ‘œ μ„œλ²„μ— SSH 접속을 μ‹œλ„ν•˜λ©΄  κ³΅κ°œν‚€μ™€ λΉ„κ³΅κ°œν‚€λ‘œ 인증을 거친 ν›„ 인증이 μ™„λ£Œλ˜λ©΄ 접속이 κ°€λŠ₯ ν•˜λ‹€. 

     

    μ΄λ ‡κ²Œ μ„œλ‘œ 관계λ₯Ό λ§Ίκ³  μžˆλŠ” KeyλΌλŠ” 것이 증λͺ…이 돠면 두 컴퓨터 사이에 μ•”ν˜Έν™”λœ 채널이 ν˜•μ„±λœλ‹€. 

    Keyλ₯Ό ν™œμš©ν•˜μ—¬ λ©”μ‹œμ§€λ₯Ό μ•”ν˜Έν™”, λ³΅ν˜Έν™”ν•˜λ©° 데이터λ₯Ό μ£Όκ³  받을 수 있게 λœλ‹€. 

     


    β€» 참고자료 

    λŒ“κΈ€

Designed by Tistory.