라즈베리파이 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_config37번째 줄의
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
'SW개발 > Raspberrypi' 카테고리의 다른 글
| 라즈베리파이 부팅 시 자동 실행 (0) | 2021.03.13 |
|---|---|
| 라즈베리파이에서 리액트 작업 환경 설정 (0) | 2021.03.09 |
| 라즈베리파이 USB 마운트 해제 (0) | 2021.03.09 |
| 라즈베리파이 Nginx 설치 (0) | 2021.03.09 |
| 라즈베리파이 VNC 설정 (0) | 2021.03.08 |