리눅스를 처음 접할 때 터미널과 텔넷
혹은 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
의 파일 형식을 띄고 있음