Secure SHell protocol의 줄임말로, 네트워크 프로토콜 중 하나다. 컴퓨터끼리 인터넷과 같은 Public Network를 통해 서로 통신을 할 때, 보안적으로 안전하게 사용하는 프로토콜인 것이다.
대표적으로 데이터 전송 / 원격 제어 등에 사용된다.
예를 들어, 깃헙에 파일을 올리는 것(데이터 전송)과 aws 서버를 제어하는 것(원격 제어) 등이 나같은 초보 개발자들이 사용해 본 SSH의 결과물이라고 할 수 있겠다.
다른 네트워크 프로토콜인 FTP나 Telnet을 사용하는 이유는 <보안>측면 때문이다. 암호화를 시킨 후 client에서 server롤 정보를 전송하기 때문에, 정보가 중간에 탈취되어도 탈취한 사람은 그 정보가 무엇인지 알아 먹을 수가 없다고 한다.
Private Key와 Public Key는 한 쌍의 정보라고 생각하면 된다. 열쇠와 자물쇠 정도로 생각해도 되겠다.
(정확한 비유가 아닐 수 있습니다.. 태클 환영합니다.)
Client측에서 Private key(열쇠)와 Public key(자물쇠)를 만든다. 그리고 연결하고자하는 Server에 Network를 통해 Public Key를 전송한다. 중간에 Public key를 해커들이 가져간다해도, Private Key는 Client 내부에만 존재하므로 정보를 들여다볼 수 없다.
SSH 보안에 대해 간략히 알아보았다. Private Key를 조심하자.
참고
1. https://baked-corn.tistory.com/52
2. https://www.youtube.com/watch?v=jUyrwaCct44