오늘 포스팅에서는 라즈베리파이를 다른 컴퓨터에서 SSH 접속을 하는 방법을 알아보겠습니다. 만약 자주 라즈베리파이로 연결을 하게 된다면 매번 패스워드를 입력하는게 꽤나 귀찮게 느껴지는데요, 그래서 암호없이 접속할 수 있는 방법도 알아볼께요.
준비단계
라즈베리파이를 처음 시작한다면 아래글들을 먼저 확인해주세요.
그리고 라즈베리파이로 접속을 할 컴퓨터에 터미널을 설치해주세요. 저는 Mac 컴퓨터를 사용하고 있고 iTerm 터미널을 사용하고 있습니다. 기본 터미널이나 putty 등의 다른 터미널도 아래 방법은 동일하게 적용됩니다.
라즈베리파이의 SSH 서비스 활성화하기
라즈베리파이의 터미널에서 raspi-config를 실행해줍니다.
pi@raspberrypi:~ $ sudo raspi-config
설정 화면이 뜨면 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
네, 암호 입력없이 빠르게 접속이 되네요. 아주 좋습니다.
오늘 포스팅은 여기까지입니다.
그럼 즐파이~!
'로보틱스 > 라즈베리파이' 카테고리의 다른 글
서보 모터 제어하기 [라즈베리파이(Raspberry Pi)] (0) | 2020.09.02 |
---|---|
scp 명령으로 파일 전송하기 [라즈베리파이(Raspberry Pi)] (0) | 2020.08.31 |
플레이스테이션(PS3) 컨트롤러 연결하기 [라즈베리파이(Raspberry Pi)] (0) | 2020.08.29 |
Oh My Zsh 설치하기 [라즈베리파이(Raspberry Pi)] (0) | 2020.08.28 |
무선랜 커맨드라인 연결하기 [라즈베리파이(Raspberry Pi)] (0) | 2020.08.27 |
댓글