라즈베리파이(라즈비안)에서 SSH 설정 및 SSH 접속하는 방법
리눅스는 네트워크 연결에 있어서는 OS 중에서는 가히 독보적이라고 볼 수 있습니다. 리눅스가 현재 꽤 유명해지고 많이 애용되는 가장 큰 이유중에 하나가 네트워크 연결이 손쉽고 사용하기가 편리하다는 점이라고 해도 과언이 아닙니다. 또한 리눅스의 수 많은 소프트웨어가 오픈소스 형태로 공개되어 있다는 점은 수많은 개발자와 사용자 및 해커들의 사용을 촉진하기에 이르렀습니다.
이런 이유로 리눅스는 네트워크 서버 시장에서 많은 점유를 하고 있는 OS입니다. Web, FTP, Router, Switch 등의 서버 및 장비에서 리눅스가 많이 탑재되어 개발 및 배포가 되고 있습니다.
그렇다면 리눅스가 네트워크 연결이 편하다는 점은 알겠지만, 어떤 부분을 보고 네트워크 연결이 편하다고 하는 걸까요? 그 가장 기본적인 예로 이번 포스트에서는 SSH에 대한 내용을 예시로 들어보도록 하겠습니다. 라즈베리파이에 기본적으로 제공되는 라즈비안은 HDMI 모니터나 VNC등의 원격 접속 서비스로 연결이 가능하나 리눅스에 친숙한 사용자나 개발자들은 SSH로 접속하여 라즈비안을 이용하기가 수월할 수 있습니다.
따라서 라즈비안에서 SSH로 접속하기 위한 설정 및 SSH로 접속하는 방법에 대해 기술해 보도록 하겠습니다.
SSH의 개념
그럼 SSH가 뭔지 간단하게 개념을 짚고 넘어가 볼까요? SSH는 원격 호스트 컴퓨터로 접속하기 위해 정의된 인터넷 프로토콜입니다. Secure Shell 의 약자로써 본래 유닉스 때부터 사용하던 Telnet에 암호화 기능을 추가해서 클라이언트와 호스트간에 안전한 통신을 위해 고안된 인터넷 프로토콜이라고 볼 수 있습니다.
Telnet의 경우에는 사용자의 계정정보와 암호가 고스란히 네트워크 망에 노출이 되기 때문에 현재 보안상의 이유로 대부분의 호스트 컴퓨터나 서버에서는 사용하지 않습니다. 다만 개발용으로는 제한적으로 사용하오니 그 개념만 알고 있으면 됩니다.
따라서 대부분의 리눅스 기반의 호스트는 SSH를 지원합니다. 라즈비안은 리눅스, 데비안 계열의 OS 이기 때문에 SSH로 라즈비안에 접속이 가능합니다. 라즈비안에 SSH로 접속하기 위해서는 터미널 프로그램이 필요한데, 본인의 취향에 맞는 터미널 프로그램을 선택하여 사용하시기 바랍니다. 저는 한글 PuTTY를 사용하여 주로 SSH를 접속하여 사용하고 있습니다. 터미널 프로그램 관련하여 아래 링크를 참고하시기 바랍니다.
라즈비안에서 SSH 활성화 하기
라즈비안을 처음 설치하면 Default로는 SSH가 활성화가 되어 있지 않습니다. 따라서 사용자가 손수 SSH를 활성화 시켜줘야 하는데, 설정하는 것은 매우 간단합니다.
먼저 라즈비안 데스크탑으로 가서 Pi 아이콘 – 기본설정 – Raspberry Pi Configuration에서 Interfaces를 선택합니다.
여기에서 위의 사진과 같이 SSH를 Enable 체크를 하고 OK를 누릅니다. 자 이제부터 당신의 라즈비안은 SSH가 활성화 된것 입니다. 어때요? 간단하죠?^^ 이제부터는 라즈비안에서 SSH를 접속할 수 있는 준비 상태가 된 것입니다.
터미널 프로그램으로 라즈비안에 SSH로 접속하기
자 그럼 라즈비안을 SSH 로 접속을 해보도록 하겠습니다. 먼저 터미널 프로그램을 실행시킵니다. 저는 한글 PuTTY를 주로 사용해서 한글 PuTTY로 접속을 해보도록 하겠습니다. 한글 PuTTY를 실행시키면 아래와 같이 호스트 컴퓨터의 IP와 Port를 입력하면 됩니다.
호스트 IP는 라즈베리파이의 IP인데요, 현재 라즈베리파이의 IP를 알수 없다면 간단하게 확인할 수 있는 방법이 있습니다. 먼저 라즈비안의 데스크탑에서 터미널 프로그램을 실행시킵니다. 터미널 프로그램에서 Shell 상에서 ifconfig 를 입력하면 IP를 알 수 있습니다.
인터넷 연결 인터페이스가 WiFi라면 wlan0에 IP가 할당되어 있을겁니다. 저는 WiFi이므로 wlan0 에 IP가 할당되어 있습니다. IP는 192.168.0.26 이네요. 한글 PuTTY에서 IP는 192.168.0.26, Port는 22를 입력 후 Open을 클릭합니다. 일반적으로 SSH의 포트는 22입니다. 라즈비안에서도 SSH는 22가 기본적으로 설정이 되어 있습니다.
한글 PuTTY로 처음 연결을 시도하면 호스트 서버의 Key 정보에 관한 메시지가 뜹니다. 여기서 예를 누르고 넘어가면 됩니다. 이후에는 이 메시지가 발생하지 않습니다. 호스트인 라즈비안에서 Client 에 대한 정보를 저장하기 때문입니다.
짠! 접속이 정상적으로 되면 계정 ID를 입력하는 항목이 나타납니다. login as: 에서 라즈비안의 사용자 계정을 입력합니다. 보통 라즈비안을 처음 설치하면 사용자 계정은 ‘pi’ 이기 때문에 pi를 입력하고 나서 pi 계정의 password를 입력합니다. password는 라즈비안을 처음 설치했을때 설정한 password를 입력하면 됩니다.
입력한 계정 ID와 password가 맞으면 위 사진과 같이 라즈비안의 Shell이 보이게 됩니다. 이제 부터는 라즈비안으로 SSH로 접속하여 자유롭게 라즈비안을 이용할 수 있게 됩니다. SSH 접속이 그리 어렵지 않죠?
SSH로 라즈비안을 접속할때 필요한 것은?
SSH는 라즈비안의 데스크탑 환경이 아닌 Shell 형태로 라즈비안을 이용할 수가 있게 됩니다. 라즈비안의 데스크탑 환경을 이용하려면 SSH로는 이용할 수는 없습니다. HDMI 케이블로 모니터를 연결하거나 VNC Server 를 실행하여 Client PC에서 원격 접속으로 라즈비안의 GUI 환경을 이용할 수 있습니다.
그럼에도 SSH로 라즈비안을 어떻게 이용할 수 있을까요? 라즈비안은 리눅스 기반의 OS입니다. 따라서 Shell 환경에서도 충분히 프로그램이나 각종 기능을 수행 할 수가 있습니다. 사실 Shell 환경에서는 일반 사용자보다는 파워 유저나 개발자 혹은 엔지니어들의 사용이 좀더 많은 편이라고 볼 수 있습니다.
만약 SSH로 라즈비안을 자유자재로 이용하시려면 리눅스 명령어에 대해서 차근차근 익혀두는게 좋습니다. 시간이 나는 대로 리눅스 명령어 및 리눅스에 대하여 코드도사 포스트에 기술해 보도록 하겠습니다. 관심이 있다면 기본적인 리눅스에 대한 책을 참고하는 것도 좋은 방법이 될 수 있습니다.
이제 SSH로 접속이 잘 되나요? 그렇다면 여러분은 라즈비안을 장소에 상관없이 SSH로 접속하여 사용할 준비가 된것입니다^^