개발환경
Host PC: Mac M1
board: raspberry pi 4B
우선 원격 접속(SSH)를 해야 하므로 기본으로 연결할 와이파이를 지정해야 한다.
기기가 정상적으로 와이파이에 연결 되었는지 확인
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주소를 직접 입력해야만 했다.
(왜지)
관리자 페이지 접속 불가 - ip를 알 수 없을 때
설정해 둔 hostname으로 접속 가능
<ip>
대신 <hostname>.local
사용 (혹은 <hostname>
)
정확히 이유는 모르겠지만 내 경우에는 핫스팟으로 연결했을 경우 뒤에 .local
을 생략해야 접근이 가능했다.
REMOTE HOST IDENTIFICATION HAS CHANGED!
대충 이런 에러가 날 때 해결법.
ssh-keygen -R ip
ssh-keygen -R <hostname>.local
처음 접속을 하게되면 fingerprint를 생성하는데, 이후에 같은 ip나 hostname으로 다른 기기에 접속을 하려고 하면 이런 에러가 뜬다. 따라서 기록된 known_host를 삭제하고 다시 접속을 하면 된다.
혹은 에러 메세지 하단에 있는 경로(맥의 경우 /Users/<username>/.ssh/known_hosts
)파일을 열고 관련 항목을 삭제하면 된다.
22번 포트가 열려있지 않음
VsCode ssh-remote 를 사용하여 접속을 하던 도중 새로운 터미널로 접속을 시도하니 22번 포트가 안열렸다 시전. 이미 ssh접속을 하고 있는데다 raspi-config
에 들어가서 ssh가 켜져있는 것도 확인했는데...
해결: 라즈베리파이 재부팅 후 vscode 연결하지 않고 했더니 됐다.
가끔(자주) vscode에서 connection refuse 에러가 나는데 해결이 되고 나면 방법을 기록하겠다.