
리눅스를 처음 접할 때 터미널과 텔넷 혹은 SSH와 같은 프로토콜 등에 대한 용어와 쓰임새에 대해 혼동하는 경우가 많음
'리눅스 환경에서 터미널을 열었으니 SSH 접속이 된 것이다'라고 생각할 수 있으나, 이는 터미널 환경에서 명령어 셸을 통한 인터페이스가 제공된 것일 뿐이며 SSH 프로토콜을 사용한 것은 아님
흔히 NBP나 AWS같은 클라우드 서비스에서 서버를 생성해보면 ‘인증키’나 ‘키 페어’라는 것을 생성하는 과정을 반드시 거치게 됨
생성하면 pem이라는 낯선 형식의 파일을 다운로드받게 되는데, 이 파일은 우리가 생성한 서버에 원격으로 접속할 때 외부의 보안 위협으로부터 보호해주는 SSH라는 보안 방식이 적용된 서버에서 반드시 필요한 파일
SSH는 서버 보안에 있어서 가장 대표적이고 유용한 수단이기 때문에 많은 클라우드 서비스에서 제공텔넷, 최근들어 많이 사용되는 SSH임Xshell, PuTTY, iTerm이나 SecureCRT는 윈도우에서 원격 리눅스 서버로 터미널 접속 프로토콜을 사용하여 연결할 수 있도록 도와주는 터미널 에뮬레이터 클라이언트텔넷과 SSH와 같은 프로토콜은 원격지로 연결을 가능하도록 하는 네트워크 접속 도구SSH라고 부르며 뜻 그대로 보안 셸임텔넷은 암호화가 이루어지지 않아 계정 정보가 탈취될 위험이 높으므로, 여기에 암호화 기능을 추가하여 1995년에 나온 프로토콜X.org가 설치된 클라이언트에서 X.org가 설치된 서버로 접속할 경우 ssh 명령어 파라미터로 -X를 주면 GUI 프로그램을 클라이언트에서 창으로 띄울 수 있음X.org는 현재 대부분 리눅스에서 사용하는 GUI 시스템이므로, 양쪽 리눅스를 GUI로 설치하면 대부분 사용 가능/etc/ssh/sshd_config)에서 활성화 하면 일부 FTP 클라이언트(FileZilla 등)에서 파일 공유를 위해 접속할 수 있음FTP], 21번[FTP], 53번[DNS], 80번[HTTP], 443번[HTTPS], 3389번[RDP] 포트도 막혀 있음SSH 포트만 살아있다면 SSH Tunneling 사용해서 방화벽으로 막은 사이트를 접근할 수 있음Tip! 텔넷이란?
- 원격지의 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜
- 사용자가 원거리에 위치한 컴퓨터를 사용할 수 있도록 하는 기능을 가지고 있음
- 사용자는 네트워크 상의 컴퓨터에 로그인하여 원격지 컴퓨터의 기능을 사용할 수 있음
- 고유 포트 번호는 23번
- 현재는 보안 문제 때문에 SSH를 사용하는 추세
Tip! 셸(Shell)이란?
- 명령어와 프로그램을 사용할 때 쓰는 인터페이스
- 좀 더 자세하게 표현하자면 커널과 사용자 간의 다리 역할을 하는 것으로, 사용자로부터 명령을 받아 그것을 해석하고 실행하는 역할을 함
- 흔히 검은 바탕에 흰 글자가 나오는 명령어 입력 환경을 떠올리면 됨
SSH의 보안 방식에는 다양한 종류가 있지만 여기서는 가장 대중적으로 쓰이는 방식에 대해서 핵심적인 내용만 언급SSH를 구성하는 가장 핵심적인 키워드는 ‘KEY(키, 열쇠)’SSH를 검색했을 때 가장 쉽게 볼 수 있는 ‘대칭키’와 ‘비대칭키(또는 공개 키)’ 방식.pub, 개인 키의 경우 .pem의 파일 형식을 띄고 있음