SSH란? (+ Kernel, Shell)

sturrxxl·2020년 12월 5일
0
post-thumbnail
post-custom-banner

vagrant 명령어 정리하는데 ssh로 접속하고,
aws ec2에 접속할때도 ssh -i - 로 접속 하던게 생각나서 정리해보는 ssh !
도대체 ssh가 뭐길래 ssh를 접속할때 사용하지😒


SSH (Secure SHell)

SSH는 Secure Shell Protocol의 줄임말로 네트워크 프로토콜 중 하나이다.
HTTP는 컴퓨터와 컴퓨터가 통신하기 위한 규약인것처럼 ssh 도 그 중 하나이다.
특별한 점은 Secure라는 이름에서도 알 수 있듯이 보안을 강조한 안전한 프로토콜로,
기존의 telnet, RSH, rlogin 등의 보안문제를 개선하기 위해서 나왔으며
통신이 노출된다 하더라도 이미 암호화 되어 있기 때문에 문제가 없다.

Shell

쉽게 표현하면 윈도의 command.com(시작-실행-cmd)이 하는 역할이다.
사용자와 운영체제간에 대화를 가능하게 해주는 명령어 해석기 역할을한다.

Kernel

커널은 운영체제의 핵심으로 소프트웨어와 하드웨어간의 커뮤니케이션을 관리하는 프로그램이다.
운영체제에서 가장 중요한 구성요소로서 입출력을 관리하고 소프트웨어로부터의 요청을
컴퓨터에 있는 하드웨어(CPU, 메모리, 저장장치등)가 처리 할 수 있도록 요청을 변환하는 역할을 한다.
컴퓨터 부팅시 부트로더에 의해 로드되어 항상 메모리에 상주한다.

사용자(명령) -> 쉘(해석) -> 커널(명령 수행 후 결과 전송) -> 쉘(해석) -> 사용자(결과 확인)


ssh client 와 server

서버는 주로 리눅스 기반으로 인터넷으로 제어되는 컴퓨터를 말하고,
반대 개념인 클라이언트는 개발자, 사용자가 현재 사용중인 데스크탑이나 노트북을 말한다.

이제 클라이언트는 서버를 원격제어 해야하는데 이 때 사용하는 것이 바로 ssh이다.

사용자가 ssh client 에서 명령어를 입력하면
클라이언트 컴퓨터를 제어하는 것이 아닌 서버 컴퓨터를 제어하게 되는것이다.


서버에 SSH를 이용해 접속하기

  1. 암호키 인증서(.pem)가 있는 폴더로 이동한다.
  2. 인증서(.pem)파일을 이용하기 위해 권한을 변경해준다.(처음에만)
    chmod 600 /폴더/경로/암호키.pem파일
  3. 원격 서버에 접속
    ssh -i /폴더/경로/암호키파일.pem 서버사용자이름@IP주소


Reference
https://jinshine.github.io/2018/05/10/%EC%BB%B4%ED%93%A8%ED%84%B0%20%EA%B8%B0%EC%B4%88/%EC%BB%A4%EB%84%90(Kernel)%EA%B3%BC%20%EC%89%98(Shell)/
https://ssungkang.tistory.com/entry/Secure-Shell-Protocol-SSH-%EB%9E%80

profile
프론트 개발자가 되는 과정
post-custom-banner

0개의 댓글