web-dev-qa-db-ja.com

コマンドラインからワイヤレスネットワークに接続する

2つの使用可能なwi-fi接続の1つに接続するシェルスクリプトを作成する必要があります。 1つは安全でない接続で、もう1つは安全な接続です。私の質問には2つの部分があります。

  1. セキュリティで保護された接続に接続しているときに、コマンドラインから(またはシェルスクリプトを実行して)セキュリティで保護されていない(暗号化されておらず、パスワードも不要)接続に接続する方法

    安全な接続のために http://www.ubuntugeek.com/how-to-troubleshoot-wireless-network-connection-in-ubuntu.html の手順に従いました。すべてのコマンドをスクリプトに入れて実行しました(インターフェイス名とessidが正しいことを確認しました)

    Sudo dhclient -r wlan0
    Sudo ifconfig wlan0 up
    Sudo iwconfig wlan0 essid "UAPublic"
    Sudo iwconfig wlan0 mode Managed
    Sudo dhclient wlan0
    

    しかし、何も起こりません。現在のネットワークから切断されず、新しいネットワークに接続されません。

  2. セキュリティで保護されたwi-fiネットワークに接続する場合、 https://askubuntu.com/a/138476/70665 から理解します。wpa_supplicantを使用する必要があります。しかし、UIを介して接続するとき、インターフェイスに多くの詳細を入力します

    • セキュリティ:wpaおよびwpa2エンタープライズ
    • 認証:PEAP
    • CA証明書:Equifax ...
    • PEAPバージョン:自動
    • 内部認証:MSCHAPv2
    • ユーザー名:
    • パスワード:

Wpa_supplicantを使用して、これらすべての詳細をコマンドラインで言及する方法confファイル

network={
        ssid="ssid_name"
        psk="password"
}

私にはうまくいきません。

5
Balaji

特に指定していないので、Ubuntuデスクトップを使用していると想定しています。

/etc/NetworkManager/system-connectionsにファイルを作成することにより、Network Managerによって管理されるワイヤレスネットワーク構成を作成できます。既存のファイルを見て、フォーマットがどのように見えるかを確認してください。

接続が作成されたら、nmcliコマンドを使用して、コマンドラインからNetworkManagerを管理し、接続の有効化、無効化、クエリなどを実行できます。

ちなみに、システムテストツール(チェックボックス)には、まさにこれを行うスクリプトがあります。接続を作成し、コマンドラインで指定したパラメーターを使用して接続を有効にします。

たとえば、これはオープンな「アヒル」ネットワークへの接続を作成します。

Sudo /usr/share/checkbox/scripts/create_connection duck

これにより、WPA2セキュリティと「wings」パスワードを使用したネットワークへの接続が作成されます。

Sudo /usr/share/checkbox/scripts/create_connection -S wpa -K wings duck

スクリプトはPythonで記述されているため、ニーズを簡単に確認して適応させることができます。

スクリプトのヘルプにはこう書かれています:

Usage: create_connection [options] SSID

Options:
  -h, --help            show this help message and exit
  -S SECURITY, --security=SECURITY
                        The type of security to be used by the connection.
                        One of wpa and wep. No security will be used if
                        nothing is specified.
  -K KEY, --key=KEY     The encryption key required by the router.
  -U UUID, --uuid=UUID  The uuid to assign to the connection for use by
                        NetworkManager. One will be generated if not
                        specified here.
  -R RETRIES, --retries=RETRIES
                        The number of times to attempt bringing up the
                        connection until it is confirmed as active.
  -I INTERVAL, --interval=INTERVAL
                        The time to wait between attempts to detect the
                        registration of the connection.
8
roadmr