리눅스 WiFi 연결 명령어 리눅스 서버 등의 환경에서 명령어를 사용하여 WiFi 연결 방법에 대해 설명드립니다. WPA/WPA2 암호화 프로토콜을 사용하는 와이파이와 비밀번호가 없는 WiFi 연결 방법에 대해서 설명드리도록 하겠습니다.

Network Manager 정지
우분투 리눅스 등의 데스크탑 환경에서는 Network Manager 데몬이 네트워크를 관리하는데 사용됩니다. Network Manager가 실행중일 경우 이 데몬을 아래의 명령어로 먼저 정지해 주시기 바랍니다.
$ sudo /etc/init.d/network-manager stop
최신 우분투 버전에서 사용되는 netplan 과 관련해서는 아래의 글을 참고해 주시기 바랍니다.
리눅스 WiFi 연결 명령어
무선랜 인터페이스 확인
다음의 명령어로 인터페이스 이름을 확인합니다.
$ iw dev

명령어 실행 결과, 무선랜 카드 인터페이스 이름은 wlxe84e06710cec 으로 확인되고 있습니다. 앞으로 이 인터페이스 이름을 이용하여 설정에 사용되게 됩니다.
무선랜 인터페이스 활성화
그리고 아래의 명령어로 인터페이스를 확인 합니다.
$ sudo ip link show wlxe84e06710cec

현재 무선랜 카드가 활성화 되어있지 않으므로, 다음 명령어를 사용하여 무선랜 카드를 활성화 합니다.
$ sudo ip link set wlxe84e06710cec up

그리고 다시 무선랜 카드 정보를 확인합니다. 처음과 다르게 활성화 된 무선랜 카드 정보를 확인 할 수 있습니다.
$ sudo ip link show wlxe84e06710cec

연결 상태 확인
다음 명령어를 사용하여, 현재 무선랜 카드의 연결 상태를 확인 합니다.
$ iw wlxe84e06710cec link

현재 WiFi에 연결되어 있지 않은 걸 알 수 있습니다.
WiF 스캔
다음 명령어를 사용하여 WiFi 정보를 스캔합니다. 스캔 후 나타나는 WiFi 중에서 비밀번호가 없는 WiFi 와 WPA/WPA2 암호화 방식을 사용하는 WiFi에 대해서 나눠서 설명드리도록 하겠습니다.
공개된 WiFi 일 경우
공개된 WiFi 일 경우 아래와 같은 명령어를 사용하여, SSID를 확인 한 다음 바로 WiFi에 연결 할 수 있습니다.
아래의 명령어는 iptime 이라는 WiFi에 접속하는 명령어 입니다. 그 다음 연결접속 정보를 확인 후 IP를 할당 받으면 됩니다.
$ iw wlxe84e06710cec scan
$ sudo iw dev wlxe84e06710cec connect iptime

비공개된 WiFi 일 경우 (WPA/WPA2)
WPA/WPA2 암호화 방식을 사용하는 WiFi 정보입니다. 네트워크를 스캔하면 다음과 비슷한 결과가 나타납니다.
$ iw wlxe84e06710cec scan
// 생략
BSS 34:cc:28:05:f0:58(on wlxe84e06710cec)
TSF: 175628935496 usec (2d, 00:47:08)
freq: 2432
beacon interval: 100 TUs
capability: ESS Privacy ShortSlotTime (0x0411)
signal: -69.00 dBm
last seen: 800 ms ago
Information elements from Probe Response frame:
SSID: ktEgg_F058
WPA: * Version: 1
* Group cipher: TKIP
* Pairwise ciphers: TKIP CCMP
* Authentication suites: PSK
RSN: * Version: 1
* Group cipher: TKIP
* Pairwise ciphers: TKIP CCMP
* Authentication suites: PSK
* Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000)
// 생략
위의 스캔된 정보에서 가장 중요한 내용이 SSID 와 암호화 프로토콜입니다. RSN 방식이 WPA2 를 나타냅니다. WiFi의 SSID 이름이 ktEgg_F058 일 경우 설정 후 접속하는 방법입니다.
아래의 명령어를 실행 후, WiFi 패스워드를 입력하면 설정 파일이 생성되게 됩니다.
$ sudo wpa_passphrase ktEgg_F058 > wpa_supplicant.conf

이 설정 파일을 이용하여 다음 명령어를 이용하여 WiFi 에 접속하면 됩니다.
$ sudo wpa_supplicant -B -i wlxe84e06710cec -c wpa_supplicant.conf

위의 명령어에서 사용된 옵션의 의미는 다음과 같습니다.
- -B : 백그리운드 실행
- -i wlxe84e06710cec : 무선랜 인터페이스 이름
- -c wpa_supplicant.conf : WiFi 설정 파일 경로
WiFi 연결 정보 확인
WiFi 에 접속 후 연결 정보를 확인 합니다.
$ sudo iw wlxe84e06710cec link
명령어 실행 결과 SSID 가 출력되며, 연결 정보가 나타나는 것을 확인 할 수 있습니다.

DHCP 주소 할당
성공적으로 WiFi에 접속되게 되면, 아래의 명령어로 IP 주소를 할당 받습니다.
$ sudo dhclient wlxe84e06710cec

위의 명령어 실행 결과, 에러 없이 IP 주소가 할당되었을 경우 WiFi 연결이 성공적으로 이뤄진 것입니다.
( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)