Nmcli를 사용하여 Linux 터미널을 통해 Wi-Fi에 연결하는 방법

리눅스 환경에서 이더넷 포트가 없거나 그래픽 네트워크 유틸리티 접근이 불가하여 인터넷 연결이 필요한 경우, 터미널에서 nmcli 명령을 사용하여 Wi-Fi에 연결하는 방법을 소개합니다.

nmcli란 무엇인가?

nmcli는 네트워크 연결 관리를 위한 명령줄 인터페이스이며, 리눅스에서 인터넷 연결을 설정하고 관리하는 데 널리 사용되는 NetworkManager의 일부입니다. 대부분의 배포판은 데스크톱 환경에서 NetworkManager를 위한 GUI 툴을 제공하지만, 리눅스 서버 환경에서는 데스크톱 환경에 접근하지 못할 수 있습니다.

터미널을 통해 Wi-Fi에 접속하는 일부 방법은 복잡한 설정 파일과 PSK 키를 요구하지만, nmcli는 이러한 불편함을 해소합니다. 최신 공유기를 사용하고 있다면, 연결하려는 네트워크의 SSID(네트워크 이름)와 암호(있을 경우)만 알면 됩니다.

1단계: Wi-Fi 장치 활성화

리눅스 PC의 Wi-Fi 카드가 활성화되어 있지 않으면 인터넷에 연결할 수 없습니다. 모든 네트워크 인터페이스 상태를 확인하려면 다음 명령어를 사용하세요.

nmcli dev status

이 명령은 네트워크 장치 목록을 유형, 상태 및 연결 정보와 함께 표시합니다.

Wi-Fi 장치가 활성화되었는지 확실하지 않다면, 다음 명령어로 상태를 확인할 수 있습니다.

nmcli radio wifi

만약 출력 결과에 Wi-Fi가 비활성화되었다고 표시된다면, 다음 명령어를 사용하여 Wi-Fi를 활성화할 수 있습니다.

nmcli radio wifi on

2단계: Wi-Fi 액세스 포인트 식별

연결하려는 Wi-Fi 액세스 포인트(SSID)의 이름을 모르는 경우, 주변의 Wi-Fi 네트워크를 검색하여 찾을 수 있습니다.

nmcli dev wifi list

연결하고자 하는 네트워크의 SSID 아래에 표시된 이름을 기록해 두세요. 다음 단계에서 필요합니다.

3단계: nmcli를 사용하여 Wi-Fi에 연결

Wi-Fi가 활성화되었고 SSID를 확인했으면 이제 연결할 준비가 되었습니다. 다음 명령으로 연결을 설정할 수 있습니다.

sudo nmcli dev wifi connect network-ssid

network-ssid 부분을 연결하려는 네트워크 이름으로 바꾸세요. Wi-Fi가 WEP 또는 WPA 보안을 사용한다면, 다음과 같이 네트워크 암호도 명령에 추가할 수 있습니다.

sudo nmcli dev wifi connect network-ssid password "network-password"

혹은, 비밀번호를 화면에 표시하지 않으려면 --ask 옵션을 사용할 수도 있습니다.

sudo nmcli --ask dev wifi connect network-ssid

이제 시스템이 네트워크 암호를 묻는 메시지를 표시하고, 입력한 비밀번호는 화면에 표시되지 않습니다.

이제 장치가 인터넷에 연결되었을 것입니다. 다음 명령어로 테스트해 볼 수 있습니다.

ping google.com

NetworkManager는 연결 정보를 저장하고 재부팅 시 자동으로 연결되도록 설정하므로, 리눅스 시스템을 재부팅할 때마다 이 명령을 실행할 필요가 없습니다.

nmcli를 사용하여 리눅스에서 네트워크 연결 관리

저장된 모든 연결 정보를 확인하려면 다음 명령을 실행하세요.

nmcli con show

특정 네트워크에 연결되어 있지만 다른 연결을 사용하고 싶다면, 다음 명령어로 현재 연결을 해제할 수 있습니다. SSID나 UUID를 지정해야 합니다.

nmcli con down ssid/uuid

다른 저장된 연결에 연결하려면 nmcli 명령에 up 옵션을 사용하면 됩니다. 연결하려는 새로운 네트워크의 SSID 또는 UUID를 지정해야 합니다.

nmcli con up ssid/uuid

리눅스에서 GUI 없이 Wi-Fi 연결하기

이제 그래픽 인터페이스 없이 Wi-Fi 네트워크에 연결하는 방법을 익혔습니다. 이는 리눅스 사용 경험을 훨씬 다재다능하게 만들어 줄 것입니다.

무선으로 파일을 전송해야 하는 경우, 데스크톱 환경 유무와 관계없이 이를 가능하게 하는 다양한 리눅스 애플리케이션이 존재합니다.