라즈베리파이 SSH 연결

스윗포테이토·2022년 9월 30일
1

라즈베리파이

목록 보기
1/3

개발환경

Host PC: Mac M1
board: raspberry pi 4B

모니터, 키보드 없이 라즈베리파이 세팅하기

우선 원격 접속(SSH)를 해야 하므로 기본으로 연결할 와이파이를 지정해야 한다.

  1. 설정 파일 직접 작성
    모니터 없이~ 로 검색하면 굉장히 많은 게시물이 나오는데, 처음에는 직접 wifi 설정 파일을 작성하는 방식을 시도해 봤으나 연결 실패.
  2. Raspberry Pi Imager에서 설정 값 넣어주기
    가장 우선 순위가 높은 와이파이를 연결할 것.

    가능하면 관리자 페이지에 접속 가능한 공유기로 세팅하면 좋다.
    아니면 스마트폰 핫스팟(와이파이 공유)으로 설정해두어도 좋음
    연결 되었는지 실시간으로 확인할 수 있고, 바로 ip를 딸 수 있다.

기기가 정상적으로 와이파이에 연결 되었는지 확인

ping <hostname>.local

ssh 접속 명령어

ssh <username>@<hostname>.local
# ex) ssh pi@raspberrypi.local
# ip를 직접 기재해도 된다
ssh <username>@ip
# ssh pi@192.168.0.1

터미널 환경으로만 사용한다면 이정도로 충분하다.
다만 나는 GUI환경으로도 접속을 하고 싶기 때문에 vnc를 사용했다.

vncserver

위 명령어를 실행하면 vncserver가 켜지고,

위와 같이 접속 가능한 포트가 열린다.
vncviewer를 통해 접속 가능

vscode를 통해 접속 시도
-> 어째서인지 hostname으로는 접속이 안되고 ip주소를 직접 입력해야만 했다.
(왜지)

참고

여러개의 와이파이 우선순위 부여해서 세팅하기

trouble shooting

  1. 관리자 페이지 접속 불가 - ip를 알 수 없을 때
    설정해 둔 hostname으로 접속 가능
    <ip> 대신 <hostname>.local 사용 (혹은 <hostname>)
    정확히 이유는 모르겠지만 내 경우에는 핫스팟으로 연결했을 경우 뒤에 .local을 생략해야 접근이 가능했다.

  2. REMOTE HOST IDENTIFICATION HAS CHANGED!

    대충 이런 에러가 날 때 해결법.

    ssh-keygen -R ip
    ssh-keygen -R <hostname>.local

    처음 접속을 하게되면 fingerprint를 생성하는데, 이후에 같은 ip나 hostname으로 다른 기기에 접속을 하려고 하면 이런 에러가 뜬다. 따라서 기록된 known_host를 삭제하고 다시 접속을 하면 된다.
    혹은 에러 메세지 하단에 있는 경로(맥의 경우 /Users/<username>/.ssh/known_hosts)파일을 열고 관련 항목을 삭제하면 된다.

  3. 22번 포트가 열려있지 않음
    VsCode ssh-remote 를 사용하여 접속을 하던 도중 새로운 터미널로 접속을 시도하니 22번 포트가 안열렸다 시전. 이미 ssh접속을 하고 있는데다 raspi-config에 들어가서 ssh가 켜져있는 것도 확인했는데...
    해결: 라즈베리파이 재부팅 후 vscode 연결하지 않고 했더니 됐다.
    가끔(자주) vscode에서 connection refuse 에러가 나는데 해결이 되고 나면 방법을 기록하겠다.

profile
나의 삽질이 미래의 누군가를 구할 수 있다면...

0개의 댓글