본문 바로가기
로보틱스/라즈베리파이

SSH 원격연결 및 패스워드 없이 접속하기 [라즈베리파이(Raspberry Pi)]

by 배불뚝 아저씨 2020. 8. 30.
반응형

오늘 포스팅에서는 라즈베리파이를 다른 컴퓨터에서 SSH 접속을 하는 방법을 알아보겠습니다. 만약 자주 라즈베리파이로 연결을 하게 된다면 매번 패스워드를 입력하는게 꽤나 귀찮게 느껴지는데요, 그래서 암호없이 접속할 수 있는 방법도 알아볼께요. 

준비단계

라즈베리파이를 처음 시작한다면 아래글들을 먼저 확인해주세요. 

그리고 라즈베리파이로 접속을 할 컴퓨터에 터미널을 설치해주세요. 저는 Mac 컴퓨터를 사용하고 있고 iTerm 터미널을 사용하고 있습니다. 기본 터미널이나 putty 등의 다른 터미널도 아래 방법은 동일하게 적용됩니다. 

라즈베리파이의 SSH 서비스 활성화하기

라즈베리파이의 터미널에서 raspi-config를 실행해줍니다. 

pi@raspberrypi:~ $ sudo raspi-config

 

설정 화면이 뜨면 SSH 서비스를 활성화 시켜주세요. 

 

raspi-confg를 통한 SSH 활성화

설정이 완료되었습니다. 이제 라즈베리파이의 IP를 출력해볼께요. 제 환경에서는 192.168.1.10이 라즈베리파이의 IP주소 입니다.  

pi@raspberrypi:~ $ ip -4 addr show | grep global
    inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute wlan0

 

그리고 라즈베리파이를 재부팅 해줍니다. 

pi@raspberrypi:~ $ sudo reboot now

 

라즈베리로 접속할 컴퓨터의 터미널에서(라즈베리파이에서 하는게 아니에요. 제 경우는 Mac 컴퓨터의 iTerm 터미널을 사용) 아래 명령으로 SSH 접속을 해볼께요. 암호 입력후 라즈베리파이에 연결이 되는것을 확인할 수 있습니다. (반드시 pi@192.168.1.10 부분을 본인의 (라즈베리파이의 접속ID)@(라즈베리파이의 IP 주소)로 바꿔주세요.)

➜  ~ ssh pi@192.168.1.10

SSH Keys 존재 확인하기

라즈베리로 접속할 컴퓨터의 터미널에서 아래 명령으로 혹시 이전에 생성된 ssh key가 있는지 확인해 봅니다. 

➜  ~ ls -al ~/.ssh

 

위의 명령으로 id_rsa.pub 파일이나 id_dsa.pub 파일이 존재한다면 SSH Keys 새로 생성하기 항목을 건너뛰고 공개키(public key)를 라즈베리파이로 복사하기 항목부터 진행하세요. 

SSH Keys 새로 생성하기

라즈베리로 접속할 컴퓨터의 터미널에서 ssh-keygen을 실행시켜줍니다. 그러면 키를 생성할 위치와 passphrase를 물어보는데 그냥 모두 Enter를 입력해서 기본값으로 설정을 해줍니다.그러면 아래와 같이 ssh key가 기본 위치(제 경우는 /Users/jlim/.ssh) 에 생성이 됩니다. 

➜  ~ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/jlim/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/jlim/.ssh/id_rsa.
Your public key has been saved in /Users/jlim/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:M3QtVQiYxRTAtwSpkdFQamx0fLZd6Iq/Jwdc+/z6ZXA jlim@iMac.local
The key's randomart image is:
+---[RSA 3072]----+
|      +O=X=o.+.  |
|     oooB *oo .  |
|      =o.=o=..   |
|     o.. .o.+    |
|        So o .. E|
|        .o+ .  o |
|         . . o  o|
|          o o o..|
|          .=  .+o|
+----[SHA256]-----+
➜  ~

 

이제 키가 생성되었는지 다시한번 확인해 보겠습니다. (참고로 제 쉘의 기본 홈인 /Users/jlim 위치는 ~ 문자와 동일합니다)

➜  ~ ls -al ~/.ssh
total 16
drwxr-xr-x  4 jlim  staff   128 30 Aug 10:42 .
drwxr-xr-x  3 jlim  staff    96 30 Aug 10:42 ..
-rw-------  1 jlim  staff  2610 30 Aug 10:42 id_rsa
-rw-r--r--  1 jlim  staff   580 30 Aug 10:42 id_rsa.pub

 

네, 정상적으로 저장이 잘 되었네요. id_rsa는 private key입니다. 저희가 사용할 키는 public key인 id_rsa.pub 입니다. 어떤 내용이 있는지 확인해 볼께요. 

➜  ~ cat ~/temp/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDAeBy78wn8BpO6tNaZVlLeqfGsgf0KpsN9uzrxBJXE+TNeZmjwxp3NHGkT3h1SGBLG2Nra2E84YyQszDcevljpx4t6tHGUAwWcWRq1NeSXl5sHLCmUXIiBYdoZZDL5rk0afY36l7zS3Kv2opSsUWVZodgKY6ZMktz+YqIDAcHmX3h2ly3xkgEa07RrKXDN4mSL6dzxMNDXhja9qDdYuZ1CETJP1Io5/6T0YhzyU//YfYENPrq0gjvgfpiWD+Fg67LV53Vj+ohLhUgF82J4pBebQHF7H8HNJFc6tVCEA2ADzRWJHJKgqWk845mCv7zHKhgU15ZzFc5UbHxboS626/jq3Tick85xvDjIBiQhv4P8h6nG9bJWHill922iyM+CdM6yQ59vI9hRD6II1lrZfLx/+x5LYJnCFR7ncfMWu+yKONVVH3GyJMpXkb4+hVDoYIkNkgKGzcginfTGbhl8wM1UJvURK1W53oYapVynDuGjYPoxTdmN+wDKCAGn6l57/CM= jlim@iMac.local

 

공개키(public key)를 라즈베리파이로 복사하기

라즈베리로 접속할 컴퓨터의 터미널에서 아래 명령을 실행시켜줍니다. 그리고 라즈베리파이 접속 패스워드를 입력하면 복사가 완료 됩니다. (반드시 pi@192.168.1.10 부분을 본인의 (라즈베리파이의 접속ID)@(라즈베리파이의 IP 주소)로 바꿔주세요.)

➜  ~ cat ~/.ssh/id_rsa.pub | ssh pi@192.168.1.10 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'

SSH 접속하기 

라즈베리로 접속할 컴퓨터의 터미널에서 아래 명령을 통해서 다시한번 라즈베리파이로 접속을 해볼께요. (반드시 pi@192.168.1.10 부분을 본인의 (라즈베리파이의 접속ID)@(라즈베리파이의 IP 주소)로 바꿔주세요.)

➜  ~ ssh pi@192.168.1.10

 

네, 암호 입력없이 빠르게 접속이 되네요. 아주 좋습니다. 

오늘 포스팅은 여기까지입니다. 

 

그럼 즐파이~! 

 

반응형

댓글