본문 바로가기

라즈베리파이(RPI)

[버섯돌이의 라즈베리 기초] 02 개발을 위한 SSH 환경 꾸미기



버섯돌이의 라즈베리 기초
02 개발을 위한 SSH 환경 꾸미기

Created Date: 2013.11.18
Modified Date: 2013.11.18
revision 1

키워드 : 라즈베리 파이, SSH, SFTP, Putty

안녕하세요 버섯돌이 유재성입니다.
원격 개발 환경을위해 필수적인 SSH에 대해서 간단히 살펴보고자 합니다.^^
시간상 간단히 작성하고 나중에 내용을 보충하거나 설명을 추가하겠습니다.

1. SSH가 뭔데 설치 해야 하지?

사전적인 의미는 위 두 곳을 살펴보면 알 수 있을거라 보며..
예전에는 텔넷등이 보편화 되어 있었지만 이제 텔넷은 사라지고 SSH가 보편적으로 사용되고 있습니다.
즉, 텔넷 보다는 SSH의 설치및 사용이 더 쉽다고 볼 수 도 있겠지요^^

저희같은 초보들 입장에서는 보안이니 하는건 그리 중요한건 아니니 생략하기로 하고..^^:;
쉽게 생각해서 텍스트 기반으로 원격지에 접속하기 위해서는 SSH가 필수라고 생각하시기 바랍니다.
그렇다보니 리눅스 서버들을 설치 할 때 과거의 텔넷 보다는 SSH 서버 설치에 대한 옵션을 제공하고 있습니다.

또한, 위키 백과 사전에 나온 설명을 보시면 아시겠지만 SSH의 경우 파일 전송도 가능하기 때문에
파일 전송을 위해 별도의 FTP 서버를 설치 할 필요가 없습니다.

SSH에 관심이 많은 분들은 "SSH 터널링"으로 검색해 보시면 멋있는 기능도 발견 하실 것 입니다.


2. hostname 설정 및 SSH 서버 설치
라즈베리 파이를 설치하면 ssh 서버는 기본 옵션이 enable이라서 기본적으로 설치됩니다만..
혹시라도 설치하지 않도록 하신 분들은 라즈베리 옵션을 띄우셔서 옵션을 바꾸시면 됩니다.
라즈베리 환경 설정 방법은 터미널에서 "raspi-config" 를 실행하시면 됩니다.


위와 같은 환경 설정 화면이 나오는데 hostname과 ssh 사용을 위해 "8 Advanced Options"를 선택 하세요.

2.1. hostname 설정



호스트명 설정은 필수는 아니지만 오로카 세미나등 같은 네트워크 상에서
라즈베리 파이를 사용하는 사용자가 2명 이상인 경우에는 별도의 호스트명을 설정해 두는것도 나쁘지는 않습니다.
"A2 Hostname"을 선택 합니다.



기본 호스트명은 "raspberrypi"로 설정되어 있습니다.



본인이 원하는 호스트명으로 변경 후 "OK" 버튼을 선택하면 끝입니다.^^;;
제 경우 라즈베리 파이가 여러 개 있기 때문에 "dev4unetpi1"로 설정 했습니다.
호스트명은 나중에 라즈베리 파이에 할당 된 IP대신 사용이 가능 하기 때문에
각자 다른 사람들이 사용 할 것 같지 않은 이름으로 짧게 설정하시면 됩니다.
(아무래도 IP주소 보다는 영문으로 된 이름이 사용하기는 더 편하겠지요^^)

2.2. ssh 설정



SSH 서버 설치를 위해 "A4 SSH"를 선택 합니다.
원격에서 작업하기 위해서는 필수 작업이기 때문에 반드시 설치 하시기 바랍니다.



단순히 "<Enable>"를 선택하시면 됩니다.


위 처럼 "SSH server enabled" 라는 메시지가 나오면 설치된 것입니다.^^
참 쉽죠잉~

3. SSH 클라이언트(putty)
ssh 서버가 설치되었으면 ssh 서버에 접속 할 수 있는 클라이언트 프로그램이 필요한데..
리눅스의 경우 기본적으로 설치되어 있기 때문에 ssh 커맨드를 이용해서 접속 해도 됩니다만...
윈도우즈의 경우에는 telnet은 지원해도 아쉽게도 ssh는 아직 지원하지 않습니다.
윈도우즈에서 많이 사용되는 무료 ssh 클라이언트 프로그램으로는 putty가 있습니다.

간단히 네이버에서 "putty" 라고 검색하면 쉽게 찾을 수 있습니다.



http://www.chiark.greenend.org.uk/~sgtatham/putty


PuTTY 사이트에 방문 하셨으면 "Download"를 클릭 합니다.


Putty가 기능이 많다보니 종류도 많은데 그 중 첫번째인 "PuTTY"를 다운로드 받습니다.



다운받은 putty.exe 파일을 실행 합니다.


Putty를 실행하면 위와 같은 화면이 나오는데...
Host Name 부분에 접속 할 라즈베리 파이의 IP주소나 hostname을 적어 줍니다.
참고로, 라즈베리 파이의 IP주소는 라즈베리 파이의 터미널 창에서 
"ifconfig" 라고 입력하면 eth0 나 wlan0에서 확인 가능합니다.
잘 모르시는 분들은 이전 SAMBA 강좌를 참고 하세요.

Saved Sessions에 본인이 원하는 이름을 입력 후 "Save" 버튼을 클릭 해 주세요.
그래야 다음에 접속 할 때 매번 입력하지 않고 편합니다.^^

Open 버튼을 클릭하면 Host Name에 입력된 IP로 접속을 시도합니다.



만약, 해당 서버에 처음 접속하는 경우에는 위와 같은 화면이 나옵니다.
SSH는 서두에 말씀드린것 처럼 보안 관련 기능이 있기 때문에 위와 같은 인증키에 대한 내용이 나옵니다.
그냥 무조건 "예~"를 선택하시면 됩니다.^^


인증과정을 거치면 telnet 처럼 라즈베리 파이 서버에 접속하기 위한 아이디와 비번을 물어 봅니다.



접속이 가능한 아이디와 비번을 입력하시면 됩니다.
별도의 계정을 만들지 않았으면 계정은 pi 가 기본이고, 비번은 raspberry 입니다.
비번이나 계정이 다른 분들은 본인이 바꾼 정보를 입력하세요.^^
root로 로그인 하고 싶은 분들은 위 링크에 있는 삼바 관련 글을 참고 하시기 바랍니다.


아이디와 비밀번호가 제대로 입력되었으면 위 처럼 라즈베리 파이에 정상적으로 로그인이 될 것입니다.
이제 모니터가 없어도 원격에서 편안하게 라즈베리 파이를 이용하시면 됩니다.^^

4. 파일 전송(Filezilla)
서두에 말씀드린것 처럼 SSH의 경우 파일 전송 기능도 포함되어 있기 때문에
sftp를 지원하는 클라이언트 프로그램을 이용하시면 라즈베리 파이에 파일을 옮기거나 가져오는게 가능합니다.
리눅스 계열의 경우 scp 기능을 이용하시면 되고...
윈도우즈의 경우 WinSCP나 Filezilla 같은 SFTP를 지원하는 무료 프로그램을 이용하시면 됩니다.
제 경우 파일질라를 주로 이용하기 때문에 파일질라로 설명 드리겠습니다.

네이버에서 "filezilla"로 검색합니다.


워낙 유명한 프로그램이라 관련 자료들도 어렵지 않게 찾을 수 있습니다.

http://www.filezilla-project.org/ 링크를 클릭해서 파일질라 사이트로 이동합니다.



저희가 필요한 것은 라즈베리 파이 서버에 접속하기 위한 클라이언트 기능이기 때문에
"Download FileZilla Client"를 선택 합니다.




위와 같은 화면이 나오는데 "Download Now"를 선택 하시면 됩니다.


파일질라 클라이언트의 설치 방법이 조금 변경이 되었는데...
위와 같은 화면에서 "Next"를 선택하시고 나오는 화면 중 불 필요한 프로그램의 설치를 물어보면
파일질라 외에는 설치할 필요가 없으니 선택하지 마시고 Next를 클릭해서 진행 하시면 됩니다.

설치가 끝나면 파일질라를 실행 하세요.



위와 같은 화면이 나오면 가장 상단에 IP주소를 입력하고 바로 접속해도 되지만 매번 입력하는건 번거롭기 때문에
화면 상단 첫번째 아이콘인 사이트 관리자 아이콘을 클릭 합니다.



사이트 관리자 화면이 나오면 "새 사이트"를 선택 합니다.



호스트명에 접속 할 라즈베리 파이의 IP 주소를 입력합니다.
유동 IP인 경우 자주 바뀔 수 있으니 IP주소보다는 라즈베리 파이의 호스트명을 입력하는게 더 편하겠지요.^^
보통은 집에서 공유기를 사용 할 테니 IP주소도 거의 바뀌지 않으리라 봅니다.
제일 중요한 부분은 "프로토콜" 부분인데 기본 값은 FTP로 설정되어 있습니다.
SSH는 SFTP이기 때문에 반드시 프로토콜을 선택 해서 "SFTP - SSH File Transfer Protocol"을 선택 하시기 바랍니다.



라즈베리 파이에 접속하기 위해 아이디와 비밀번호를 입력하기 위해 "로그온 유형"은 일반을 선택 하시고,
사용자 계정과 비밀번호를 입력 하시기 바랍니다.
입력이 모두 끝났으면 "연결"을 클릭하시면 입력한 내용이 저장되면서 해당 서버에 접속을 시도 합니다.
참고로, "확인" 버튼은 입력된 내용을 저장만 하고 접속은 하지 않습니다.^^


정상적으로 연결된 경우 좌측 상단에 보시면 진행되는 과정이 출력되며..
맨 마지막에 "디렉터리 목록 조회 성공"이라는 문구가 보입니다.
굳이 로그를 보지 않더라도 "Remote(라즈베리)"라고 적은 부분에 라즈베리의 내용이 보일 것입니다.

사용법은 직관적이라 쉽게 이해 할 수 있으리라 봅니다.
좌측의 "Local(윈도우즈)"라고 적어 놓은 부분이 현재 자신의 윈도우즈 컴퓨터입니다.
옮기고 싶은 파일이 있으면 중간 영역의 폴더가 나온 부분에서 탐색기를 사용하듯이..
편하게 이동하시면 맨 밑의 창에 해당 폴더에 들어있는 내용들이 나옵니다.
(파일 목록이 보여지는 창에서 이동해도 되겠지요^^)

그리고 우측의 "Remote(라즈베리)"라고 적혀 있는 부분도 같은 개념으로 이동하시면 됩니다.
그 뒤 윈도우즈에 있는 파일을 라즈베리로 복사하고 싶으면...
윈도우즈 창에 있는 파일을 Drag 해서 라즈베리 창에 Drop 하시면 됩니다.
라즈베리에 있는 파일을 윈도우즈에 복사하고 싶으면 반대로...
Remote(라즈베리) 창에 있는 파일을 Local(윈도우즈) 쪽으로 Drag & Drop 하시면 되구요..^^
흠.. 설명이 어렵지 한번 사용해보면 쉽게 이해 할 수 있습니다.
Drag & Drop이 잘 이해가 안되면 그냥 더블 클릭하세요.^^;;

다음 시간에는 SAMBA와 SSH가 모두 설치되었다고 가정하고...
SAMBA와 SSH를 사용하는 예제로서 우리가 만들 ROVER5 개발을 위한 환경으로
SSH로 라즈베리 파이에 접속해서 와이어링 파이를 설치하고..
vi가 익숙하지 않은 사용자를 위해 윈도우즈에서 간단한 소스를 작성 후
SAMBA나 Filezilla로 라즈베리에 옮겨 놓고 SSH에서 빌드및 실행하는 방법을 간단히 다뤄보겠습니다.

시간이 늦어서 잘 못된 부분이나 추가 설명이 필요한 부분은 향후 다시 수정 하겠습니다.


[참고자료]

[1] 라즈베리 파이 활용백서 - http://book.naver.com/bookdb/book_detail.nhn?bid=7324830
[4] WinSCP - http://winscp.org/



End.

written by 버섯돌이

이 저작물은 크리에이티브 커먼즈 저작자표시-비영리 3.0 Unported 라이선스에 따라 이용할 수 있습니다.