라즈베리파이 SSH 설정
SSH Enable
왼쪽 위의 시작메뉴 - 기본 설정 - Raspberry Pi Configuration
Interfaces
탭에서SSH
를Enable
로 설정한 뒤 OK
putty로 접속
https://www.putty.org/ 에서 Download PuTTY의 here 항목 클릭
지금은 단순히 ssh로 접속하는 것이 목적이므로
Alternative binary files
탭의putty.exe (the SSH and Telnet client itself)
만 다운로드했다.- 사용하던
ssh key
가 없거나 파일 전송이 목적이라면 패키지 파일로 통합 설치를 하는게 편할 듯 하다.
- 사용하던
putty.exe
를 실행하여 ip와 port(처음엔 22번)를 적고Open
을 누르면 첫 연결 시 나오는 문구가 있는데,예
를 눌러서 저장해준다.- ip는 공유기 기본 게이트웨이 페이지에서 확인하는게 간편한 것 같다.
패스워드 로그인 방식 대신 SSH 키로만 접속하기
- 아이디와 비밀번호로 로그인하는 방식은 보안이 취약하다고 생각한다.
라즈베리파이 SSH 생성
라즈베리파이에 ssh 키가 있는지 확인한다.
ls ~/.ssh /* 출력 ls: cannot access '/.ssh': 그런 파일이나 디렉터리가 없습니다 */
SSH 생성
ssh-keygen
키의 저장 위치와
passphrase
를 입력하라고 하는데, 엔터를 누르면 생략된다.이후 다시
ls ~/.ssh
명령어를 입력하면 개인키(id_rsa)와 공개키(id_rsa.pub)가 생긴 것을 알 수 있다.
컴퓨터에서 ssh 키 옮기기
컴퓨터에서
~/.ssh
위치(윈도우에서는 보통C:\Users\사용자명\.ssh
)로 들어간다.해당 폴더가 없는 경우
PuTTYgen.exe
로 키를 생성해야 한다.공개키인
id_rsa.pub
를 메모장으로 열어서 내용을 전부 복사한다.아까 접속한 라즈베리파이의 터미널에서
~/.ssh
로 들어간다.다음 명령어로
authorized_keys
파일을 열어서 복사한 공개키를 붙여넣기한다.vi authorized_keys
입력 :
i
붙여넣기 :
shift + insert
저장 후 종료 :
esc
누르고:wq
입력
이후
putty.exe
를 종료하고, Git Bash로 다음 명령어를 통해 접속할 수 있다.- ip는 라즈베리파이의 ip이다.
ssh pi@ip
- Git Bash에서
ssh
명령어를 사용할 수 있는건Git for Windows
를 설치해서 그런 것 같다.
패스워드 로그인 금지 설정
라즈베리파이의
/etc/ssh/sshd_config
파일이ssh
데몬 설정 파일이다.644 권한이라서
sudo
로 다뤄야 편집할 수 있다.sudo vi sshd_config
37번째 줄의
PubkeyAuthentication yes
주석을 풀어준다.37G
를 입력하면 37번째 줄로 이동한다.x
버튼을 한번 누르면 커서의 글자가 하나 사라진다.u
를 누르면 undo
56번째 줄의
PasswordAuthentication yes
설정을no
로 바꿔준다.56G
를 입력하면 56번째 줄로 이동한다.i
를 입력해서 입력모드로 들어간 후, 글자를 수정해준다.esc
누르고:wq
로 저장하면서 나온다.
이후
service ssh restart
명령으로 ssh를 재시작하면 설정이 적용된다.다시
putty.exe
를 실행하여 ip와 port를 입력한 뒤 접속해보면, login id를 입력하자마자 다음과 같은 에러가 발생한다.No supported authentication methods available (server sent: publickey)
Git Bash로
ssh
명령어를 통해 접속하면 별다른 유저 인증 절차 없이 바로 접속할 수 있다.
SSH 포트 변경
2개의 파일을 수정하면 된다.
/etc/ssh/sshd_config
... Port 포트번호 ...
/etc/services
... ssh 포트번호/tcp # SSH Remote Login Protocol ...
리부팅하면 적용된다.
sudo reboot
'Raspberrypi' 카테고리의 다른 글
라즈베리파이 부팅 시 자동 실행 (0) | 2021.03.13 |
---|---|
라즈베리파이에서 리액트 작업 환경 설정 (0) | 2021.03.09 |
라즈베리파이 USB 마운트 해제 (0) | 2021.03.09 |
라즈베리파이 Nginx 설치 (0) | 2021.03.09 |
라즈베리파이 VNC 설정 (0) | 2021.03.08 |