Headless Pi에서 Wi-Fi 용 SD 카드 준비


158

Wi-Fi를 통해 Pi를 SSH해야하지만 모델 A 보드 (USB 허브를 사용할 수는 없음)이므로 이더넷이 없으므로 Pi를 구성하여 보안 Wi-Fi 네트워크에 연결할 수 없습니다. SD 카드를 랩톱에 연결하고 Wi-Fi 구성 정보가 포함 된 파일을 편집하여 Pi가 시작할 때 네트워크에 자동으로 연결되어 SSH를 통해 제어 할 수 있습니다. 이 답변 덕분에 헤드리스 시스템에서 SSH를 활성화하는 방법을 알고 있습니다.

편집 . 나는 주변을 검색 /etc/network/interfaces했으며 SD 카드가 내 PC에있는 동안 파일 을 편집하고 모든 네트워크 ssid, psk 및 wlan0 항목을 넣을 수 있는지 궁금 합니다. 이것이 효과가 있습니까? 감사


당신은 거기에 상당히 어려움에 처해 있습니다. SSHS를 통해 USB LAN을 일시적으로 사용하는 것이 좋습니다. 대부분의 드라이버가 포함되어 있습니다. WiFi를 삽입 한 다음이 답변에 따라 Pi에서 WiFi를 설정하십시오. 와드를 재부팅 한 후 LAN의 플러그를 뽑고 Wifi를 사용하여 부팅하십시오. 몇 분 안에 자동 연결됩니다.
Piotr Kula

2
저비용 설정 방법은 USB 직렬 어댑터를 사용하여 GPIO 헤더의 직렬에 연결하는 것입니다. 당신은이 할 SSH를 활성화 할 필요가 없습니다
존 라 Rooy

대체 방법 [1]에 대한 내 답변 [여기] [1] 참조 : raspberrypi.stackexchange.com/a/31397/30719
memebrain

답변:


237

여기에 훌륭한 답변이 있지만 많은 것이 오래되었습니다. 2016년 5월 때문에, Raspbian은 와이파이 정보를 복사 할 수있다 /boot/wpa_supplicant.conf/etc/wpa_supplicant/wpa_supplicant.conf자동으로 무선 네트워크 액세스를 구성 :

wpa_supplicant.conf 파일이 / boot / 디렉토리에 있으면 다음에 시스템을 부트 할 때 네트워크 설정을 겹쳐 쓰면서 / etc / wpa_supplicant / 디렉토리로 이동합니다. 이렇게하면 부팅 파티션 만 볼 수있는 Windows 또는 다른 시스템에서 Wifi 구성을 카드에 미리로드 할 수 있습니다.

Raspbian 최신 업데이트-Raspberry Pi , 2016-05-13

/bootSD 카드 리더가 장착 된 모든 컴퓨터 에서 파티션에 액세스 할 수 있으므로 Wi-Fi 구성이 훨씬 간단 해졌습니다.

일반적인 wpa_supplicant.conf 파일은 다음과 같습니다.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=«your_ISO-3166-1_two-letter_country_code»

network={
    ssid="«your_SSID»"
    psk="«your_PSK»"
    key_mgmt=WPA-PSK
}

교체 «your_ISO-3166-1_two-letter_country_code»을 당신과 함께 ISO 국가 코드 (예 : CA캐나다), «your_SSID» 무선 액세스 포인트 이름과 함께 «your_PSK» 무선 랜의 암호.

Wi-Fi 비밀번호를 일반 텍스트로 저장하지 않으려면 wpa_passphrase유틸리티를 사용하여 해시 된 비밀번호를 저장할 수 있습니다 .

wpa_passphrase «your_SSID»

이 유틸리티는 암호를 묻는 메시지를 표시하고 16 진수 해시 값을 반환합니다. 이 해시 된 비밀번호는 따옴표 없이 따옴표 없이 저장됩니다 /boot/wpa_supplicant.conf. 예 :

psk=b76dc68cb76bfea7232e32634f859ca760cd8abeee318a346b51d3bde00b8965

있습니다 country, ctrl_interface그리고 update_config선이되어 필요 에 생성으로 파일 /boot이 네트워크에 연결되지 않습니다 시스템이 누락 된 경우 :. 누락을 수정하기 위해 위의 프로세스를 반복 할 수 있습니다.

이 프로세스는 2018 년 11 월 릴리스부터 Raspbian 및 Raspbian Lite로 테스트되었습니다.


또한 헤드리스 Raspberry Pi에 SSH (Secure Shell) 액세스를 추가 할 수 있습니다 . 보안상의 이유로 Raspbian에서는 SSH가 기본적으로 비활성화되어 있습니다. 다음과 같은 파일을 만들어 활성화 할 수 있습니다 /boot/ssh.

헤드리스 설정의 경우 확장명없이 'ssh'라는 파일을 SD 카드의 부팅 파티션에 배치하여 SSH를 활성화 할 수 있습니다. Pi가 부팅되면 'ssh'파일을 찾습니다. 발견되면 SSH가 활성화 된 후 파일이 삭제됩니다. 파일의 내용은 중요하지 않습니다. 텍스트를 포함하거나 전혀 포함하지 않을 수 있습니다.

SSH (보안 셸)-Raspberry Pi 설명서

SSH 액세스를 활성화하면 가능한 빨리 표준 pi 사용자 의 비밀번호를 변경해야 합니다. 기본 암호 ( raspberry )가 널리 알려져 있으므로 암호를 변경할 때까지 네트워크의 모든 사용자가 Raspberry Pi를 효과적으로 열 수 있습니다. passwd명령 으로이 작업을 수행 할 수 있습니다 .


2
이 솔루션에는 두 가지 제한 사항이 있습니다 (2016-09-23 이미지로 테스트). 1. 파일은 Linux 스타일 줄 끝 (CR LF 대신 LF)으로 포맷해야합니다. 2. 내 Raspberry Pi 3의 Raspbian 라이트 이미지에서는 작동하지 않습니다.
user2154065

1
@ user2154065 1. 오른쪽 아래에서 "Dos \ Windows"를 마우스 오른쪽 단추로 클릭하고 "UNIX / OSX 형식"을 선택하여 메모장 ++를 사용 하여 파일을 LF로 변환 하십시오 . 2. wpasupplicant패키지가 Raspbian Lite에 포함되어 있지 않을 수 있습니다.
Hydraxan14

1
이제 두 개의 Raspbian Lite 컴퓨터가 실행 중이며 내 의견이 잘못되었다고 확신합니다. wpa_supplicant가 포함되어 있거나 쉽게 설치할 수 있습니다.
scruss

5
@kleinfreund는 암호문을 일반 텍스트로 포함하지 않습니다. "wpa_passphrase SSID"(SSID 포함)를 실행하고 프롬프트가 표시되면 암호를 입력하십시오. 출력을 wpa_supplicant.conf 파일에 복사하여 일반 텍스트가 포함 된 행을 제거하고 해시 된 버전 만 남겨 두십시오. (다른 시스템에서이 작업을 수행 할 수 있으므로 Pi 용 마이크로 SD를 설정할 때 파일을 미리 확보 할 수 있습니다.)
Peter Hansen

4
- @scruss 당신의 대답은 거의 정확는이 줄을 추가하십시오 wpa_supplicant.conf: 위의 샘플 ctrl_interface=/var/run/wpa_supplicant 난 그냥 Raspbian 스트레치 라이트와 W 새로운 제로에 시도
ctekse

23

몇 가지 구체적인 지침 :

내용 /etc/network/interfaces:

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
    post-up ifdown eth0
iface default inet dhcp

내용 /etc/wpa_supplicant/wpa_supplicant.conf:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="YOUR_SSID_HERE"
    psk="YOUR_SECRET_PASSPHRASE_HERE"
    id_str="SOME_DESCRIPTIVE_NAME"
}

정직한. 주어진 두 가지 파일이 주어진 내용으로 모든 파이에 사용됩니다. 부팅되어 즉시 무선 라우터에 연결됩니다. DHCP 협상은 주소를 제공하며 라우터는 호스트 이름을 적절한 IP 주소로 확인합니다. 을 통해 각 PI의 이름을 적절하게 지정하십시오 /etc/hostname.

interfaces후행 파일 의 기묘함 iface default...이 필요합니다. 그렇지 않으면 무선 WPA 연결이 작동하지 않습니다.

wpa_supplicant.conf파일은 여러 수 있습니다 network={나는 ... 일을 내 파이를 가지고 그것을 연결하는 데 사용 봐라,이 작품의 구성이 비록 좀 더 복잡했다, 너무 자동적으로이 연결도 항목을. 여기에 예제로 포함되어 wpa_supplicant.conf파일에 다음을 추가 / 대체 하십시오.

network={
    ssid="THE_OFFICE"
    scan_ssid=1
    key_mgmt=WPA-EAP
    eap=PEAP
    identity="WORK_USERNAME"
    password="WORK_PASSWORD"
    phase1="peaplabel=0"
    phase2="auth=MSCHAPV2"
    id_str="SOME_DESCRIPTIVE_NAME"
}

기본적으로 wpa_supplicant.conf파일을 검색하여 일치하는 첫 번째 네트워크에 연결합니다. 매우 편리합니다. 이 방법으로 '개방형'네트워크에 자동으로 연결할 수도 있습니다. 가장 똑똑한 일이 아니라 실행 가능한 것입니다.


나는 머리가없는 정적 IP를 가져야하며 IP 주소를 알지 못하면 ssh를 할 수 없습니다. 나는 현재 id_str="home"wpa_supplicant.conf iface home inet static에 있고 인터페이스 파일에 (아래에 정적 IP 정보가 있음) 정적 IP를 제공하지만 이것이 설정하는 가장 좋은 방법인지 설정하기에 약간 혼란 스럽습니다. 부팅 할 때 "장치"홈 "을 찾을 수 없습니다"라는 오류가 표시됩니다.
11chubby11

1
적절한 이름으로 내 pi에 액세스 할 수 있도록 dyn.com (또는 dyndns.com)을 사용하고 ddclient를 사용하여 이름을 자동으로 올바른 주소로 설정합니다. 또는 라우터를 사용하여 정적 DHCP 주소를 지정하면 훨씬 유용합니다. 또한 upnpcd를 사용하여 네트워크 외부에서 시스템에 연결할 수 있도록 upnp 설정을 동적으로 설정합니다. 지금은 고정 IP가 필요하지 않으며 어디에서나 설정할 수 있습니다. (iface 스탠자는 옵션으로 lo / eth0 / wlan0 / default 만 가질 수 있으며 'home'이 작동하지 않습니다)
lornix

/etc/network/interfacesSD 부팅에 추가 하려면 어떻게 해야합니까? 아무 데나 놓고 복사하면 되나요?
denislexic

기본적으로 의견을 작성할 담당자가 없기 때문에 솔루션을 성공적으로 사용한 lornix의 답변에 대한 의견. 루트 파일 시스템을 편집하려면 첫 번째 부트 파티션이 아닌 두 번째 파티션을 마운트해야합니다. 내가 한 : sudo mount / dev / sdc2 / mnt 그 후 / mnt 루트에서 파일을 편집 할 수 있습니다 (예 : /mnt/etc/wpa_supplicant/wpa_supplicant.conf 및 / mnt / etc / network / interfaces 및 / mnt / etc / hostname (다시 sudo 사용). 완료되면 / mnt 계층 구조에서 CD를 꺼내고 sudo umount / mnt를 수행하십시오. 그런 다음 SD 카드를 Rπ에 삽입하고 부팅 할 수 있습니다. 여기에는 Linux 시스템이 필요합니다.
Ketil Malde

10

2016 년 11 월부터 보안상의 이유로 표준 Raspbian 이미지에서 SSH가 기본적으로 비활성화되었습니다.

그것을 다시 사용하려면 하나라는 빈 파일을 만들 ssh거나 ssh.txtSD 카드 부팅 폴더 (FAT32 파티션에 액세스 할 창에서)

Wi-Fi 설정을 사전 구성하려면 wpa_supplicant.conf다음을 포함 하는 파일을 작성하십시오 .

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={ 
ssid="MySSID" 
psk="MyPassword" 
}

이 두 파일은 모두 창에서 작성하고 메모장을 사용하여 편집 할 수 있습니다.

그런 다음 SD 카드를 pi에 삽입하면 SSH를 바로 시작할 수 있습니다.


그들이 설정을 크게 단순화 시켰습니다. 좋은 답변입니다!
lornix

3

RASPBIAN STRETCH의로서 당신은 포함해야 ctrl_interfaceupdate_configwpa_supplicant.conf

부팅시 ssh로 wifi를 얻으려면 SD 카드에서 다음 간단한 단계를 수행하십시오.

  1. touch /<sd mount point>/boot/ssh
  2. nano <sd mount point>/boot/wpa_supplicant.conf

내용으로 :

country=AU  #omit if US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="YourNetworkSSID-1"
    psk="passwordOne"
}
  1. SD 카드 마운트 해제, 파이에 넣고 파이 부팅

2

interfaces파일을 사용할 수 있습니다 . 모든 네트워크 정보를로드 한 후 썸 드라이브에 넣고 RPi를 재부팅하십시오. RPi는 추가 하드웨어 나 모니터없이 설정을 수행하고 WiFi를 설정합니다.

그런 다음 Pi에 SSH를 연결하고 VNC를 설치하여 GUI를 얻을 수 있습니다. 당신이 그것을위한 단계 명령에 의해 단계를 원하는 경우에, 체크 아웃 Option 3: Connect with WiFihttp://www.dexterindustries.com/BrickPi/getting-started/using-the-pi/


이 작업을 수행 할 수 없습니다. 캔 트는 인터넷에서 와이파이를 설정하는 방법에 대한 다른 정보를 찾습니다.
11chubby11

이것을 자동화하는 데 사용되는 스크립트를 언급하지 않았습니다. 여기
karan

2

Raspberry pi (Raspberry Pi 헤드리스 설정)에서 사전 구성된 WiFi 연결로 Rasbian을 자동으로 설치하는 SD 카드를 구성 할 수도 있습니다. 이것은 파이가 첫 부팅을 위해 전원에 연결될 수있게합니다.

1 단계 : Noobs 다운로드 https://www.raspberrypi.org/downloads/ 에서 최신 Noobs 소프트웨어 (버전 오프라인 및 네트워크 설치)를 다운로드 하여 압축을 풉니 다.

대안 : 파일로 직접 링크 : http://downloads.raspberrypi.org/NOOBS_latest

그 당시의 최신 NOOBS 버전은 1.4.0입니다.

2 단계 : 헤드리스 구성 os / 디렉토리에서 rasbian / 이외의 다른 모든 폴더를 삭제하십시오. 실제로 Data_Partition이라는 하나의 다른 폴더 만 있어야합니다.

rasbian / 폴더에서 flavours.json 파일을 편집하십시오. 다음을보아야합니다.

{
  "flavours": [
    {
      "name": "Raspbian - Boot to Scratch",
      "description": "A version of Raspbian that boots straight into Scratch",
      "supported_hex_revisions": "2,3,4,5,6,7,8,9,d,e,f,10,11,12,14,19,1040,1041"
    },
    {
      "name": "Raspbian",
      "description": "A Debian wheezy port, optimised for the Raspberry Pi",
      "supported_hex_revisions": "2,3,4,5,6,7,8,9,d,e,f,10,11,12,14,19,1040,1041"
    }
  ]
}

“Raspbian – Boot to Scratch”부분을 삭제하면 파일의 끝 부분이 다음과 같아야합니다.

{
  "flavours": [
    {
      "name": "Raspbian",
      "description": "A Debian wheezy port, optimised for the Raspberry Pi",
      "supported_hex_revisions": "2,3,4,5,6,7,8,9,d,e,f,10,11,12,14,19,1040,1041"
    }
  ]
}

루트 NOOBS 디렉토리에서 recovery.cmdline 파일을 편집하고 인수 목록에 silentinstall을 추가하십시오. 파일은 마지막에 다음과 같아야합니다.

runinstaller quiet vt.cur_default=1 elevator=deadline silentinstall

4 단계 (선택 사항) : 사용자 정의 키보드 레이아웃 및 언어 구성 기본 키보드 레이아웃 (us) 및 / 또는 기본 언어 (기본값은 'us')를 변경하려면 복구 인수 목록에서 lang = XX keyboard = XX를 추가하십시오. .cmdline 파일 (XX는 언어, 키보드 코드로 바꿔야합니다. fr, de,… 기본값은 us입니다).

파일은 마지막에 다음과 같아야합니다.

runinstaller quiet vt.cur_default=1 elevator=deadline silentinstall lang=fr keyboard=fr

5 단계 (선택 사항) : Wifi Noobs 구성 구성은 Rasbian 설치 직후 일부 파일을 복사 / 붙여 넣는 도구입니다. 여러 가지 중에서이 도구를 사용하면 Pi에서 Wi-Fi를 사전 구성 할 수 있습니다. 그럼에도 불구하고 사용하는 Wi-Fi 동글이 Raspbian에서 직접 지원한다고 가정합니다.

우선 GitHub에 Noobs Config를 다운로드하는 것입니다 ( https://github.com/procount/noobsconfig/archive/master.zip )

그런 다음 noobsconfig.zip 및 압축을 풉니 다.

  • Noobs 파일의 루트 디렉토리에“customise.sh”를 복사하십시오.

  • "os / Rasbian / partition_setup.sh"를 Noobs 파일의 "os / Rasbian /"디렉토리로 복사하십시오.

  • "os / Rasbian /"아래에 "wifi"라는 ​​폴더를 만듭니다.

  • “Examples / Rasbian / wifi / wifi / wpa_supplicant.conf”를
    Noobs 파일의“os / Rasbian / wifi /”디렉토리에 복사하십시오.

  • “Examples / Rasbian / wifi / Raspbian_root.txt”를
    Noobs 파일의 “os / Rasbian /” 디렉토리로 복사 하십시오.

마지막으로 wpa_supplicant.conf에서 wifi ssid 및 psk (암호)를 구성하는 것입니다.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="MyNetwork"
psk="MyPassword"
}

5 단계 (선택 사항) : 기본 비밀번호 변경 이 단계는 선택 사항이지만 Rasbian 설정의 기본 비밀번호를 변경하는 것이 좋습니다.

os / Rasbian / os.json 파일을 편집하십시오. 다음과 같아야합니다.

{
  "name": "Raspbian",
  "version": "wheezy",
  "release_date": "2015-02-16",
  "kernel": "3.18",
  "description": "A community-created port of Debian wheezy, optimised for the Raspberry Pi",
  "url": "http://www.raspbian.org/",
  "username": "pi",
  "password": "raspberry",
  "supported_hex_revisions": "2,3,4,5,6,7,8,9,d,e,f,10,11,12,14,19,1040,1041"
}

9 행에서 기본 비밀번호를 변경해 봅시다.

5 단계 : SD 카드의 파일을 복사하고 FAT 형식의 SD 카드에서 Raspberry pi Copy / past 파일을 부팅합니다.

6 단계 : 부팅 및 연결 몇 분 후 (SD 카드에 따라 설치 프로세스가 30 분 이상 걸릴 수 있음) SD 카드에서 부팅하고 SSH를 통해 Pi에 연결합니다.

그것은 그...


이 지침은 유망 해 보이지만 NOOBS v1.9.2부터는 os / Raspbian 디렉토리에 flavours.json 파일이 없습니다. 편집하는 주된 이유는 대체 버전을 제거하는 것이기 때문에 필요하지 않은 경우 해당 단계를 건너 뛰는 것이 안전하다고 생각합니다.
natevw

2

헤드리스 설정 프로세스는 Raspbian Stretch 및 최신 버전의 RetroPie에서 약간 변경되었습니다.

부팅 디렉토리 내부 ...

touch ssh

nano wpa_supplicant.conf

이것을 wpa_supplicant.conf에 추가하십시오

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
    ssid="YOUR_NETWORK_NAME"
    psk="YOUR_PASSWORD"
    key_mgmt=WPA-PSK
}

부팅을 위해 sd 카드를 마운트 해제하고 pi에 삽입

잠시 시간을내어 파이의 IP 주소를 찾으십시오.

파이에 ssh

ssh pi@pi-ip-address

기본 비밀번호는 라즈베리입니다


1

wpa_supplicant.confsdcard 에서 파일 을 편집해야 합니다 (배포 버전 에 /etc있거나 /etc/wpa_supplicant배포 버전에 따라 다름). 파일 형식은 여기에 설명되어 있습니다 : http://linux.die.net/man/5/wpa_supplicant.conf


그러나 무선 연결이 끊어지면 기본 설정을 사용하여 자동으로 다시 연결되지 않습니다. 추가 구성 파일과 함께 수동 모드 및 로밍을 사용해야합니다.
Piotr Kula

설정하기에 충분해야합니까? 네트워크가 사용 가능한 경우 wpa_supplicant가 시작될 때 확실히 연결됩니다. 또한 네트워크가 느슨하면 wpa_supplicant가 자동으로 다시 연결되어야한다고 생각합니다.
hogliux

마지막 의견 외에도 최신 데비안이있는 라즈베리 모델 A 에서이 방법을 직접 사용했다고 덧붙이고 싶습니다.
hogliux

를 사용하는 경우 WPA 신청자는 다시 연결하지 않습니다. SSID 와 함께 AUTO사용 STATIC하고 ROAMING연결하려면 SSID를 정의 해야 합니다. 설정하기가 약간 까다 롭습니다.
Piotr Kula 2016 년

1

쉘 스크립트 도구를 만들었습니다 (불행히도 Linux에서만 실행 됨). 최신 Raspbian 이미지 다운로드, 이미지 압축 풀기, 이미지에 Wi-Fi 및 이더넷 설정 포함 (사용자가 제공), 재 포장 전체 프로세스를 자동화합니다. 이미지를 SD 카드에 굽습니다. SD 카드로 Pi를 부팅하면 곧바로 네트워크와 연결됩니다. 이 스크립트에는 네트워크에서 새로 구성된 Pi를 검색하는 기능도 있습니다.

Wi-Fi 동글을 Pi에 직접 연결하고 RaspImgConfig.sh 스크립트를 사용하여 Wi-Fi 자격 증명이있는 Raspbian Image를 내장 한 다음 이미지를 카드에 구울 수 있습니다. 모니터, 마우스 또는 키보드가 필요 없습니다.

도구 사용에 대한 유튜브 비디오 : https://youtu.be/WdYb1L2WzjM

감사합니다, Subhajit Ghosh


-2

암호로 보호 된 wifi에서 작동하도록 pi를 설정하고 / boot 파티션의 구성 파일을 사용하여 pi를 부팅하지 않고 ssh를 자동으로 활성화 할 수 있습니다.

내 AIY에 이것을 사용하고 nmap을 사용하여 네트워크를 스캔하여 내 pi를 찾습니다.

거기에서 파이에 연결할 수 있습니다.


최소한 필요한 파일 이름과 내용 및 추가 정보에 대한 링크를 설명해야합니다.
Steve Robillard

-3

RPi 모델 A에 이더넷이없고 Wi-Fi가 없다는 점에서 이러한 모든 답변에 빠진 점이 없다고 생각합니다. 외부 동글을 얻지 않으면 ssh를 통해 RPi에 연결할 수 없습니다. .. 가장 좋은 방법은 TV에서 직접 사용하거나 헤더의 직렬 포트를 통해 사용하거나 내가 말했듯이 wifi 용 외부 동글을 얻는 것입니다.


5
나는 그가 이미 그것을 사용하고 있다는 것을 암시한다고 생각합니다. OP는 어떤 종류의 어댑터가 없으면 무선 네트워크에 연결할 수 없다는 것을 OP가 알고 있다고 가정합니다.
Impulss
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.