안녕하세요.
프로젝트를 위해 라즈베리파이를 게이트웨이로 써야 하므로, GUI 없는 RaspberryPi OS LITE를 이용하기 시작했습니다.
SSH는 원격 호스트 컴퓨터로 접속하기 위해 정의된 인터넷 프로토콜로 포트 번호는 22번을 사용합니다.
1. SD Card에 OS Image Flash
- Requirement
- Raspberry Pi OS ( Raspberry Pi OS Lite )
- belena etcher ( Flash OS images to SD cards & USB drives )
https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2. Flash Success 성공 시
- SSH enable -> ssh (확장자명 없이 빈 파일 생성)
- WiFi 연결 -> wpa_supplicant.conf (파일 생성)
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
ssid="wifi-Name"
psk="wifi-PW"
key_mgmt=WPA-PSK
}
참고로 5GHz 대신 2.4GHz를 쓰는걸 지향함.
3. Raspberry Pi에 SD카드 넣고 전원을 인가 시
위 과정을 제대로 했다면, 라즈베리파이가 WiFi에 연결이 되었을 것.
공유기 관리자 모드에 들어가 현재 라즈베리파이가 Local IP가 어떻게 되는지 확인한다. ex) 192.168.x.x
Local IP를 확인하였다면, 포트포워딩을 한다. 자세한 설명은 아래 링크를 걸어둠. 주피터 노트북 서버 관련된 내용이지만, 포트포워딩에 대해 최대한 쉽게 설명해둠.
https://coding-yoon.tistory.com/152
위를 제대로 했다면, putty나 teraterm을 이용해 접속한다. (teraterm을 추천, 이유는 다음 글에)
pi@raspberrypi:~ $ 명령어 입력
pi : ID
raspberrypi : Hostname
1. 라즈베리파이 첫 부팅 시, ID와 PW는 각각 pi, raspberry
2. 라즈베리파이 첫 부팅 시, Hostname은 raspberrypi
3. SSH 기본 포트 번호는 22번
--------------- 선택사항 ---------------
4. SSH 포트 번호 변경
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get upgrade
pi@raspberrypi:~ $ sudo apt-get install vim
pi@raspberrypi:~ $ sudo vim /etc/ssh/sshd_config
vim을 설치해도 되고, 혹은 nano로 해도 된다. 하지만 vim이 편하기 때문에 vim을 설치.
https://coding-yoon.tistory.com/99?category=898799
#Port 22 주석을 풀고 Port {원하는 숫자}
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
5. SSH로 root 계정으로 접속
현재 상태로는 SSH에서 Access Denied로 root 계정 접근 불가
$sudo vim /etc/ssh/sshd_config
####### sshd_config #######
# PermitRootLogin yes 추가
# Authentication:
#LoginGraceTime 2m
#PermitRootLogin prohibit-password
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
//root 계정 활성화
$sudo passwd root
//재시작
$sudo reboot
// 루트 계정 접속
// ID : root
// PW : 설정한 비밀번호
6. ID & Hostname 변경 ( 루트 계정 접속 상태 )
1. ID 변경
usermod -l {원하는 ID명} pi
2. Hostname 변경
$sudo raspi-config
# network option -> hostname -> {원하는 호스트명} 변경
# password 변경
# language -> US | KR | UTF
# time -> Asia -> Seoul
# WiFi -> US, UK
7. root 계정 비활성화
$sudo passwd -l root