ターミナルで手動でネットワークに接続および切断する方法は?


113

ネットワーク管理者が私を非常に困らせているので、私はそれを交換したい(おそらく、wicdまたはppa:volaninNMから)。

ネットワークマネージャーを使用せずに、ターミナルを介してネットワークに接続および切断する方法がわかりません。

ネットワークを管理するコマンドラインの方法が欲しい。


2
システムのネットワーク接続マネージャーをいじるつもりなら、有線イーサネット経由で接続している間は、接続が失われる可能性が低く、必要に応じてコマンドラインから設定するのが簡単です。
ライアントンプソン

を使用しますwicd-curses。これは、最も簡単なユーザーインターフェイスであることがわかります。<kbd>→</ kbd>(右矢印キー->)を使用して構成を設定する必要があります。その他のすべては、画面上の指示から明らかです。
同型

回答:


139

これは、12.04 +に適用されます。これらはテストできるものですが、古いバージョンでも使用できるためです。このガイドをいくつかのパートに分けました。

  • パート1パスワードまたはWEPキーのないワイヤレスルーター
  • パート2 WPAまたはWPA2セキュリティキーを備えたワイヤレスルーター
    • パート2.1 wpa_supplicantを使用したWPAルーターへの接続
    • パート2.2 Network Managerを使用したWPAルーターへの接続
  • パート3 nmcliを介した簡単な接続
  • パート4ワイヤレスルーターからの切断
  • パート5接続の削除(構成ファイルを含む)
  • パート6ログイン時の自動接続
  • ボーナス GUIを使用してネットワークインターフェイス名を見つける方法

ワイヤレスカード、ワイヤレスセキュリティ、ワイヤレスルーターの設定に応じて、次のコマンドラインを使用して接続および切断できます。先に進む前に、ネットワークサービスが有効になっていることを確認してください(リカバリモードを使用してUbuntuを起動する場合)。

Ubuntuのバージョンに応じて、次のいずれかの方法を使用して起動する必要があります。

SystemDを使用している場合(14.10以降):

sudo systemctl start networking

Legacy init.dの方法を使用する場合: sudo /etc/init.d/networking restart

Legacy Upstartの方法を使用している場合: sudo service network-manager restart

パート1:パスワードまたはWEPキーのないワイヤレスルーター

ワイヤレスルーターにパスワードまたはWEPセキュリティがない場合、次の手順を実行します。

  1. ターミナルを開き、ワイヤレス接続を検索します。

    iwlist wlan0 s  
    

    sはスキャン用です。wlan0は私のワイヤレスカードですが、ユーザーごとに異なる可能性があります。一部はeth0、他はwlan2です。sudoこのオプションを実行する必要がありますTAB。これにより、ネットワークカードの名前で行が自動補完されます。またiwconfig、表示されるリストで名前を入力して検索することもできます。

    ワイヤレスデバイスの名前がわからない場合は、次のように入力しiwconfigます。有線/ワイヤレスデバイスとその名前が表示されます。wlan0、wlan1、eth1、eth2などのようになります。

  2. ルックアップにより、すべての可能なアクセスポイント(AP)が表示されます。リストにルーターが表示されたら、それに接続してみてください。

    パスワードがない場合は、次を実行します。

    iwconfig wlan0 essid NAME_OF_ACCESS_POINT  
    

    例えば

    iwconfig wlan0 essid CYREX  
    

    その後dhclient、ルーターによって割り当てられない場合に備えて動的IPを取得できるように使用してください。これにより、CYREXルーターに接続したままになります。

    パスワードがある場合は、次を実行します。

    iwconfig wlan0 essid CYREX key PASSWORD
    

    そこに指定したパスワードを使用して接続する必要があります。

    繰り返しますがdhclient、接続後にIPが割り当てられていることを確認してください。

  3. 正しく接続されていることを確認することは常に適切であるためiwconfig、ワイヤレスカードが上記のSSIDに接続されていることを確認するために実行してください。接続されているデバイスと割り当てられたIPが表示されます。インターフェースがスキャンをサポートしていないなどのエラーが表示されない場合は、次の2つのオプションを試してください。

    • インターフェイスが起動しているかどうかをテストします。 sudo ifconfig wlan0 up
    • sudoスキャン中に追加してみてください:sudo iwlist wlan0 s
    • デバイスを停止してからバックアップしてみてください:

      sudo ifconfig wlan0 down  
      sudo ifconfig wlan0 up
      

パート2:WPAまたはWPA2セキュリティキーを備えたワイヤレスルーター

ワイヤレスルーターにWPA / WPA2パスワードがある場合、これを行う方法がいくつかあります。私は2つの最も人気のあるものに言及します:

  1. ターミナルを開き、ワイヤレス接続を検索します。

    iwlist wlan0 s  
    

    sはスキャン用です。wlan0は私のワイヤレスカードですが、ユーザーごとに異なる可能性があります。一部はeth0、他はwlan2です。sudoこのオプションを実行する必要がありますTAB。これにより、ネットワークカードの名前で行が自動補完されます。またiwconfig、表示されるリストで名前を入力して検索することもできます。

    ワイヤレスデバイスの名前がわからない場合は、次のように入力しiwconfigます。有線/ワイヤレスデバイスとその名前が表示されます。wlan0、wlan1、eth1、eth2などのようになります。

  2. ルックアップにより、すべての可能なアクセスポイント(AP)が表示されます。リストにルーターが表示されたら、それに接続してみてください。

パート2.1 WPA-SUPPLICANT GUIDE:wpa_supplicantを使用したWPAルーターへの接続

  1. ターミナルに次を入力します(wpasupplicantここで使用する必要なコマンドをすべてインストールするパッケージがインストールされていると仮定します)。

    wpa_passphrase SSID PASSWORD > CONFIG_FILE
    

    例: wpa_passphrase Virus LinuxFTW > wpa.conf

    どこにウイルスが私のルータの名前で、LinuxFTWは私のパスワードで、wpa.conf私はこの情報のすべてを保存するファイルです。あなたが別の場所にファイルを保存することができ、多くのユーザーが、ファイルを保存することに注意してください/etc/wpa_supplicant.conf代わりにwpa.conf。wpa.confファイルのデータは次のようになります。

    network={  
            ssid="Virus"  
            #psk="LinuxFTW"  
            psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae  
    }  
    
  2. ここまでで、ワイヤレスカードインターフェイスの名前を知っている必要があります(例:Wlan0、eth2、Wlan2 ...)。次に、どのドライバーが使用されているかを知る必要があります。このために入力します:

    wpa_supplicant
    

    多くの情報が表示されるはずですが、利用可能なすべてのドライバーを表示する** Drivers *というセクションがあります(これらはコンパイル時に利用可能ですwpa_supplicant)。私の場合、これは次のようなものです。

    drivers:  
      wext = Linux wireless extensions (generic)  
      nl80211 = Linux nl80211/cfg80211  
      wired = Wired Ethernet driver  
      none = no driver (RADIUS server/WPS ER)  
    

    リスト全体は、hostap、hermes、madwifi、wext、broadcom、wired、roboswitch、bsd、ndisです。これは、どのようwpa_supplicantにコンパイルされたかによって変わる可能性がありますが、私に表示されるものはシステム上のものと似ているはずです。ほとんどのユーザーがwextドライバーを選択します。

  3. ワイヤレスインターフェイスカード名とドライバー名を取得したので、次の形式を使用して、既に作成された構成ファイルを使用して接続します。

    wpa_supplicant -iINTERFACE_NAME -cCONFIGURATION_FILE -DDRIVER_NAME
    

    例えば:

    wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dwext
    

    どこに-iあなたのインターフェースカードの名前は、-c設定ファイルであり、どこで-Dあなたが接続するために使用されるドライバの名前です。正しく接続されたら、CTRL+ を押しCてキャンセルしてから行を再度実行しますが、今回は-B端末を引き続き使用できるようにバックグラウンドで送信します。

    wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext  
    

    その後、単にを実行しsudo dhclient wlan0て、ルーターからIPを取得します。

  4. 一部のユーザーは、ハッシュを削除し、設定にパスワードのみを残していると報告しています。たとえば:

         network={  
                ssid="Virus"  
                psk="LinuxFTW"  
        }  
    

    他の人がssid_scanを設定ファイルに追加しました:

        network={  
                ssid="Virus"
                scan_ssid=1  
                #psk="LinuxFTW"  
                psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae  
        }  
    

    または、キータイプを追加することもできます。

        network={  
                ssid="Virus"
                scan_ssid=1  
                key_mgmt=WPA-PSK
                #psk="LinuxFTW"  
                psk=1d538d505f48205589ad25b2ca9f52f9cbb67687e310c58a8dd940ccc03fbfae  
        }  
    

    これについての詳細は man wpa_supplicant.conf

パート2.2ネットワークマネージャーガイド:Network Managerを使用したWPAルーターへの接続

ネットワークマネージャーの良いところは、いくつかの素晴らしいスクリプトとツールが付属していることです。これらのうちの2つはnmcliand create_connection(Neat Python 3 script)で、この場合に使用します。

  1. 前述の手順を実行してルーターのSSID名を見つけたら(iwlist上記の部分を思い出してください)、次のことを行います。

    sudo /usr/share/checkbox/scripts/create_connection -S SECURITY_TYPE -K PASSWORD SSID_NAME
    

    どこセキュリティは、セキュリティの種類ルータ用途(WPA、WEP)で、PASSWORDは ... well..theパスワードで、SSID_NAMEは、ルータのSSIDの名前です。例えば:

    sudo /usr/share/checkbox/scripts/create_connection -S wpa -K LinuxFTW Virus
    

    Network Managerの接続を作成します。接続は次のようになります。

      $ sudo /usr/share/checkbox/scripts/create_connection -S wpa -K LinuxFTW Virus
      [sudo] password for cyrex: 
      Connection Virus registered
      Connection Virus activated.
    
  2. この後、ルーターからIPが割り当てられます。そうでない場合sudo dhclient wlan0(wlan0がインターフェースの名前であると仮定して)。次のようなnmcliを使用して、ネットワークマネージャーの接続を確認することもできます。次のようにnmcli c表示されます。

     $ nmcli c
      NAME                      UUID                                   TYPE              TIMESTAMP-REAL                    
      Xcentral                  f51a5a64-8a91-47d6-897c-28efcd84d2b0   802-11-wireless   Fri 22 Mar 2013 02:25:54 PM VET   
      Realtek                   9ded7740-ad29-4c8f-861f-84ec4da87f8d   802-3-ethernet    Tue 05 Mar 2013 01:18:31 AM VET   
      Intel                     e25b1fd8-c4ff-41ac-a6bc-22620296f01c   802-3-ethernet    Fri 05 Apr 2013 10:04:05 PM VET   
      Virus                     3f8ced55-507b-4558-a70b-0d260441f570   802-11-wireless   Tue 09 Apr 2013 06:31:10 AM VET   
    

Network Managerの方法について言及します。これは、使用wpa_supplicantがまったく機能しない場合があるためです (ルーターとワイヤレスカード間の問題、セキュリティの問題など)。私の場合、wpa_supplicant1台のPCで使用する試みはすべて機能しませんでしたが、別のPCでは最初に試したときに機能しました。そのため、両方の方法を投稿して、各ケースを支援し、ユーザーがどちらを希望するかを簡単に決定できるようにします。

パート3:nmcliを介した簡単な接続

ネットワークマネージャーなしで接続する方法について説明しましたが、nmcli(ネットワークマネージャーのCLIバージョン)を使用する場合もあります。これを行うには、次のことを行います。

  1. 表示できるESSIDを確認してください:

    nmcli dev wifi
    
  2. ESSIDの名前を確認し、必要なパスワードを含む次の行で使用を続けます(これにはWEPおよびWPAタイプのパスワードが含まれます)。

    nmcli dev wifi connect ESSID_NAME password ESSID_PASSWORD
    

    ESSID Linux5Gに接続する例を次に示します

    スクリーンショット

    コンピューターに複数のワイヤレスデバイスがある場合は、次のifnameようなパラメーターを使用して、使用するワイヤレスデバイスを指定できます。

    nmcli dev wifi connect ESSID_NAME password ESSID_PASSWORD ifname WIRELESS_DEVICE_NAME

    たとえば、私の場合、デバイスの名前は次のとおりです。wlp9s0この行を使用して、接続に使用するデバイスを指定します。

    スクリーンショット

nmcliに関する詳細情報は、helpパラメーターを使用して取得できます。例えば、nmcli devあなたがタイプしたいことについて知りたい場合nmcli dev help。について詳しく知りたいnmcli dev wifi場合は、入力nmcli dev wifi helpなどを行います。

パート4:ワイヤレスルーターからの切断

これを実現するには、いくつかの方法があります。

  • 「強制」による切断: sudo ifconfig wlan0 down

    これにより、ワイヤレスカードインターフェイスがオフになります(ドライバーがオフになります)。オンにするには、ifconfig wlan0 up続けてを入力しsudo dhclient wlan0ます。Network Managerで表示した場合、接続済みとして表示されますが、実際にはルーターへの接続はありません。しようとするpingと、connect: Network is unreachableエラーがスローされます。

  • DHCP IPを解放します。 sudo dhclient -r wlan0

    忘れずにsudo dhclient wlan0IPを再度割り当ててください。

  • Network Managerを使用して切断します。 nmcli nm enable false

    nmは、Network Managerの状態を管理および設定するnmcliのパラメーターです。オプションenabletrueまたはfalseにできます。つまり、falseに設定する、Network Managerによって管理されるすべてのネットワーク接続が切断されます。nmcliはルート権限を必要としないことに注意してください。

Network Manager typeのステータスを確認するには、次のnmcli nmようなものが表示されるはずです。

      $ nmcli nm
      RUNNING         STATE           WIFI-HARDWARE   WIFI       WWAN-HARDWARE   WWAN      
      running         connected       enabled         enabled    enabled         enabled   

接続をオンまたはオフにする別の方法(接続/切断)は、以下を実行することです。

nmcli c down id NAME` - Will disconnect the connection NAME  

nmcli c up id NAME` - Will connect the connection NAME

パート5:接続の削除

既存の接続を削除するのはかなり簡単です。ターミナルの最初のタイプ:

nmcli c

次のようなものが出力されます。

$ nmcli c
NAME                      UUID                                   TYPE              TIMESTAMP-REAL                    
Realtek                   9ded7740-ad29-4c8f-861f-84ec4da87f8d   802-3-ethernet    Tue 05 Mar 2013 01:18:31 AM VET   
PrivateSys                86b2b37d-4835-44f1-ba95-46c4b747140f   802-11-wireless   Sun 21 Apr 2013 07:52:57 PM VET   
pepe                      9887664b-183a-45c0-a81f-27d5d0e6d9d8   802-11-wireless   Thu 18 Apr 2013 02:43:05 AM VET   
Virus                     3f8ced55-507b-4558-a70b-0d260441f570   802-11-wireless   Tue 16 Apr 2013 11:33:24 AM VET   
Intel                     e25b1fd8-c4ff-41ac-a6bc-22620296f01c   802-3-ethernet    Sun 21 Apr 2013 08:12:29 PM VET   
Xcentral                  f51a5a64-8a91-47d6-897c-28efcd84d2b0   802-11-wireless   Fri 22 Mar 2013 02:25:54 PM VET  

Xcentralを削除する場合、次のコマンドに進みます。

nmcli c delete id Xcentral

実行すると、次のようになります。

$ nmcli c delete id Xcentral
$ nmcli c
NAME                      UUID                                   TYPE              TIMESTAMP-REAL                    
Realtek                   9ded7740-ad29-4c8f-861f-84ec4da87f8d   802-3-ethernet    Tue 05 Mar 2013 01:18:31 AM VET   
PrivateSys                86b2b37d-4835-44f1-ba95-46c4b747140f   802-11-wireless   Sun 21 Apr 2013 07:52:57 PM VET   
pepe                      9887664b-183a-45c0-a81f-27d5d0e6d9d8   802-11-wireless   Thu 18 Apr 2013 02:43:05 AM VET   
Virus                     3f8ced55-507b-4558-a70b-0d260441f570   802-11-wireless   Tue 16 Apr 2013 11:33:24 AM VET   
Intel                     e25b1fd8-c4ff-41ac-a6bc-22620296f01c   802-3-ethernet    Sun 21 Apr 2013 08:12:29 PM VET   

すべての接続はに保存されます /etc/NetworkManager/system-connections/

今そのフォルダを見ると、次のファイルが表示されます。

$ ls /etc/NetworkManager/system-connections
Intel  pepe  PrivateSys  Realtek  Virus

これは、接続を手動で編集/削除/追加する場合のみです。

パート6:ログイン時の自動接続

ワイヤレスルーターに自動的にログインする場合の手順は次のとおりです。

  1. interfaceファイルを開きます。

    sudo nano /etc/network/interfaces
    
  2. 以下の情報を追加します(インターフェースがwlan0と呼ばれると仮定します):

    auto wlan0
    iface wlan0 inet static
    address ASSIGNED_IP
    netmask 255.255.255.0
    gateway THE_GATEWAY
    wireless-essid YOURSSID
    wireless-key WIRELESSKEY_HERE
    
  3. ファイルを保存し、コンピューターを再起動します。これは、同じコンピューターからアクセスできるプレーンテキストファイルに保存されることに注意してください。

ボーナス:ワイヤレス接続の名前GUIスタイルを見つける

  1. ネットワークマネージャーをクリックし、接続情報に移動します

    スクリーンショット

  2. ワイヤレスカードを保持しているタブに移動します

    スクリーンショット

この画像では、このネットワークカードの名前はeth1(括弧内)ですが、これはユーザーごとに異なる場合があります。通常はwlan(wlan0、wlan1、wlan2 ...など)になりますが、eth1、eth2などにもなります。そのため、名前を確認する必要があります。

名前をすばやく見つけるもう1つの方法は、iwconfig使用可能なすべてのワイヤレスネットワークカードを表示するように入力することです。


3
ワイヤレスインターフェイスの名前を見つける別のコマンドライン方法を見つけた場合。入力した後iwlist2回押しタブを、端子は、後に自動的にインターフェイスの名前を入力しますiwilst
Suhaib

2
著者が答えの完全性を見て正しく推測できました。
jobin 14年

1
@douglaswalrath「砂糖の妖精」
ルイス

豊富なガイドをありがとう!パスワードをファイルにプレーンテキストで書き込まずに、起動時にワイヤレスにリンクする他の方法があるかどうか疑問に思います...
ミケーレ

1
@Micheleこの他の回答は、パスワードが履歴に保存されるのを防ぐ方法に関するガイダンスを提供します。askubuntu.com/a/279333/237654
ヘクターコレア

36

方法を知っていれば、とても簡単です。

使用可能なwlanアクセスポイントを表示します。

nmcli dev wifi

アクセスポイントに接続します。

nmcli dev wifi connect $ACCESS_POINT password $PASSWORD

2
これは、私の場合(Linux Mint 17.1)で機能しなかったAlvaradoからの投票済みの回答よりもはるかに優れています。しかし、これは非常に簡単で、ただ機能します!
ソーベン

1
Linuxのミント17日に私のために働いた
デビッドOkwii

これが私にとっての勝利の答えです。迅速、簡単、安全です。ありがとうございました!。
GTRONICK

3
@Thorben IMHOこれは受け入れられた答えでnetwork manager command line interfaceはありません、なぜなら元の質問に答えないからHow to connect without a network managerです。
ヴォラック

+1。この回答は、質問には適用されませんが、回復モードのときに誰かを助け、時間を節約するためです。素晴らしい仕事user82110。
ルイスアルバラード

13

wicdには2つのコマンドラインユーティリティが付属しています:wicd-cursesとwicd-cli(個別のインストールが必要な場合があります)wicd-curseを使用すると、ネットワーク(有線または無線)への切断をインタラクティブに構成/接続できますが、wicd-cliは同じ機能を提供しますが、コマンドラインオプションのみ(スクリプトに便利)cronジョブで使用して、自動再接続のバグを回避します。

wicd-cli -y -c -m MY_NETWORK_SSID

また、次のようなwpa_supplicant構成を「そのまま」持つこともできます。

/ etc / network / interface:

auto wlan0 
iface wlan0 inet dhcp 
wpa-conf /etc/wpa.conf

および(WPAの例として)/etc/wpa.conf:

network={
  ssid="MY_NETWORK_SSID"
  proto=RSN
  key_mgmt=WPA_PSK
  pairwise=CCMP_TKIP
  group=CCMP_TKIP
  psk="my network key in the clear"
}

これには多くの考慮事項がありますが、クリアテキストの事前共有キーを持つことのセキュリティ上の懸念(wpa_supplicantは暗号化されたキーまたは難読化されたキーを提示することができます、manページを確認してください)、そのファイルを所有し、読み取り専用にするルートによる緩和です。

私が考えて、いくつかのネットワークセクションを有する優先順位によって、複数のネットワークを接続するために可能になります。


wicdはデフォルトではインストールされません。ネットワークマネージャーと互換性があるかどうかは不明です。
Guntbert

互換性がありません。あなた
tr33hous

5

を使用しますwicd-curses。これは、最も簡単なユーザーインターフェイスであることがわかります。

wicd-curses

(右矢印キー->)を使用して構成を設定する必要があります。その他のすべては、画面上の指示から明らかです。

もちろん、インターネットなしでインターネットにアクセスする方法を見つける必要がありますwicd。私はあなたがすでにそれを解決しているか、そうでなければ投稿しないと仮定しています。

(これはOPにタイムリーではなく、この質問はまだGoogleで出てくるので、後世に投稿するだけです。グーグルを求める人へ:カフェや友人のコンピューターなどからこれを読んでいるなら、どこかでワイヤーを使うことができます。を使用してwicd-cursesインストールするsudo apt-get install wicd-curses場合は、終了する前に動作することがわかっているネットワークでテストしてください!)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.