注目キーワード
  1. Photoshop
  2. Python
  3. Raspberry Pi
  4. Arduino

ラズパイ-Ubuntu20.04LTSの初期設定-SSH接続やIPアドレス固定など

ここでは「Raspberry Pi 4 Model B」にOS「Ubuntu Server 20.04.2 LTS」を入れて初期設定する方法を紹介します。

 

この記事を読むことで

Ubuntu Serverの初期設定方法

Ubuntu のSSH接続方法

UbuntuのIPアドレス固定やネットワーク接続方法

Ubuntuで使えるその他コマンド

を知ることができます。

 

CUI環境(ターミナルやコマンドライン)メインで紹介するので、コマンドをコピペして進めてもらえればと思います。

※ 適宜、アップデートや再起動は行ってください。

 

Ubuntu初期設定時の環境は以下の通りです。

初期設定時の環境・必要なもの

マイコン:Raspberry Pi 4 Model B

OS:Ubuntu Server 20.04.2 LTS 64bit

OS書き込み:Raspberry Pi Imager

ケーブル類:HDMI-microHDMI、有線LAN、TypeC-5V3A電源

ハードウェア:モニター、USBキーボード&マウス

SSH接続時:Windows 10、TeraTerm(ソフト)

 

※Raspberry Pi へUbuntu Server をDLしてある前提で進めていきます。

これら環境の準備ができたら、それぞれ電源を入れてUbuntuの初期設定を行っていきましょう。

 

Ubuntu20.04LTSの初期設定

まずはUbuntuをダウンロードしてあるRaspberry Piの電源を入れて、初期設定を行っていきます。

知っている方、既に初期パスワード等を変えている方は読み飛ばしていただいて構いません。

 

ubuntuへのログインとパスワード関連の設定

Raspberry Piを立ち上げると、初期ログインとパスワードを入力することになります。

 

ubuntuの初期パスワード

login:ubuntu
password:ubuntu

 

ubuntuの初期パスワードは上記となるので、入力しましょう。

入力が正しく行われると、新しいパスワードを求められるので、Retypeと合わせて2回入力します。

 

New password:○○○○

Retype new password:○○○○

 

別途パスワードを変更したい場合

パスワードの変更は、コマンドからも可能で

passwd

と入力すると

Current password:
New password:
Retype new password:

と聞かれるので、必要に応じてパスワードを変更してください。

 

パスワードなしでのsudo権限

初期設定を進めていく上で、パッケージ等の更新時に「sudo」コマンド(superuser-スーパーユーザー doコマンド)を使用するのですが、毎度パスワードを求められると大変なので

sudo visudo

をコマンドへ打ち込み、毎度パスワードを求められないように設定を変えておきます。

 

sudo コマンドはシステム管理コマンドとも呼ばれており、

 

visudoコマンドを打ち込むと、 /etc/sudoers.tmpの編集画面になるので

# Allow memvers of group sudo to execute any command

%sudo ALL=(ALL:ALL) NOPASSWD:ALL

NOPASSWDを追記しておきます。

 

ubuntu_init_visudo

 

「NOPASSWD」の追記が終わったら

Ctrl+X > Y > Enter

を順にクリックしていき、編集画面を終了します。

 

また、Jetson Nanoの場合、こちらの終了方法が使用できないため「vi, vim」コマンドを閉じれないため

:wq

とキーボードで打ち込み「保存して終了」させます。

 

これで、sudo宣言をパスワードなしで実行できるようになります。

 

ホスト名の変更

ホスト名を変更したい場合は

hostnamectl set-hostname 変更したいホスト名

を入力しましょう。

現在のパスワードを打ち込むと、設定が反映されます。

 

 

パッケージ等の更新

ここまでできたら、パッケージ等を更新していきます。

sudo apt update

sudo apt upgrade

を順に打ち込み、パッケージを更新します。

 

アップグレードは少し時間がかかるので、終わるまで待ちましょう。

更新が終了したら、下記のコマンド

sudo reboot

で再起動をかけてパッケージの更新は終了です。

 

Temporary failure resolving ‘ports.ubuntu.com’

等のエラーが発生した場合は、ネットワーク関連が悪さをしていることが多いので「nameserver」などを見直しましょう。

 

一時的な対処法として

echo “nameserver 8.8.8.8” | sudo tee /etc/resolv.conf > /dev/null

とechoを使う方法もありますが、下記で紹介するIPアドレス固定時のようにネットワークの設定をしてもらえれば問題ないかと思います。

 

PC-Ubuntu間のSSH接続設定

Raspberry Piを毎回モニターに接続して操作するのは大変なので、Windows などの端末からリモート接続できるようにSSH接続)設定を追加します。

 

このSSH接続を行う上で、PCには「ターミナルエミュレータ」と呼ばれるソフト「TeraTerm」を使用します。

こちらは別途PCの方にインストールしておきてください。

 

準備ができたら、Raspberry Piのコマンドで

sudo apt install openssh-server

を打ち込み、SSH接続用のパッケージをインストールします。

 

続いて、Raspberry PiのIPアドレスを確認するためのパッケージ「net-tools」をインストールします。

sudo apt install net-tools

 

実行すると、下図のようにインストールが開始されます。

ubuntu_init_net-tools

 

インストールが完了したら

ifconfig

コマンドでRaspberry PiのIPアドレスを確認しましょう。

 

ubuntu_init_ifconfig

 

wlan0 > inet

からIPアドレス(既にIPアドレス固定しているので上図の場合は192.168.11.125)を確認することができます。

ここで確認したIPアドレスはSSH接続時に必要となるので、覚えておきましょう。

 

Raspberry PiのIPアドレスを確認したら

sudo systemctl start ssh

のコマンドでSSH接続のサービスを開始します。

 

SSH接続のサービスを開始したらTeraTermを開いて、先ほど確認したRaspberry PiのIPアドレスを「ホスト」へ打ち込み接続してみます。

ubuntu_init_teraterm01

 

ユーザー名は「ubuntu」、パスフレーズは「設定したパスワード」になります。

SSH接続でPC側からリモート接続できたら、完了です。

 

ubuntuのIPアドレス固定とネットワーク設定

続いて、UbuntuのIPアドレス固定ネットワークの設定を「yaml(ヤムル)ファイル」にて同時に設定していきます。

 

まずは以下のコマンドで新しく.yamlファイルを作成し

sudo nano /etc/netplan/99_config.yaml

 

下記のように固定IPアドレスとネットワークを決めていきます。

network:
  ethernets:
    eth0:
      dhcp4: false
      dhcp6: false
      addresses: [192.168.13.125/24]
      gateway4: 192.168.13.1

  wifis:
    wlan0:
      dhcp4: false
      dhcp6: false
      addresses: [192.168.11.125/24]
      gateway4: 192.168.11.1
      access-points:
        "ホスト名":
         password: "○○○○○○○○"
      nameservers:
        addresses: [192.168.11.1, 8.8.8.8, 8.8.4.4]
  version: 2
  renderer: networkd

 

ここでは

有線固定IPアドレス:192.168.13.125

無線固定IPアドレス:192.168.11.125

としており、ネットワークの設定は

“ホスト名”

password:”○○○○○○○○”

の箇所で行っています。

固定IPアドレスやネットワークの設定は各自、任意で変えてください。

 

上記では、私が使用しているWi-FiのIPアドレスが”192.168.11.XX”なので、同一ネットワーク内に存在するよう、固定IPアドレスを“192.168.11.125”としています。

私自身、ラズパイを触りたいたての頃はIPアドレスの知識がなかったため

3つ目の数字(第3オクテット)はWi-FiのIPアドレスの数字と同じにしておく

ことを知っておきましょう。

自分も、これを知ってからはカッコつけて第3オクテットとか言ってますが(笑)

 

設定ができたら

Ctrl+X > Y > Enter

で編集を保存し、「sudo reboot」で再起動をかけましょう。

 

これでIPアドレスの固定と無線LAN の設定が完了し、 固定IPアドレスから無線/有線でSSH接続できるようになります。

 

iPhoneのテザリング機能でWi-Fi接続

外出時に、iPhoneのテザリング機能を使ってUbuntuにSSH接続したい方は、下記記事の設定もしておくと良いかもしれません。

 

ラズパイUbuntu20.04LTSにiPhoneテザリング経由のWi-FiでSSH接続する

 

ubuntuでファイルサーバーを作成

Windows やMacなどで作成したプログラムファイルを横流しでUbuntuへ保存するために便利なのがファイルサーバーになります。

こちらも初期設定で行っておくと便利だと思うので、紹介しておきます。

 

ubuntuのホスト名を変更

ファイルサーバーの作成の前に、Ubuntuのホスト名を任意に変更しておきましょう。

sudo hostnamectl set-hostname ホスト名
当サイトではホスト名を「myrobot2」としています。
ホスト名を変更したら
sudo reboot
で再起動をかけることでホスト名の変更が反映されます。

 

ファイルサーバーsambaのインストール

ホスト名等の変更が終わったら、実際にファイルサーバーを作成していきます。

まず、ファイルサーバーの役割を持つソフトウェア「samba(サンバ)」をインストールします。

sudo apt-get install samba

 

インストールができたら、ファイルサーバー用のディレクトリを作成します。

作成する場所は任意で決めてもらえば良いのですが、ここでは /home の下に「share」というディレクトリを作成します。

sudo mkdir /home/share

 

ディレクトリを作成したら、chmodコマンドでディレクトリに対して、権限の設定を行います。

sudo chmod 777 /home/share

 

最後に、sambaのconfファイルを編集します。

sudo nano /etc/samba/smb.conf

をコマンドへ打ち込み

 

[Share]
   path = /home/share
   writable = yes
   guest ok = yes
   guest only = yes
   create mode = 0777
   directory mode = 0777

と一番最後の行へ追記します。

 

ubuntu_init_share

 

[Share]の記述が追加できたら

Ctrl+X > Y > Enter

で編集を保存し

sudo systemctl enable smbd

のコマンドからファイルサーバーシステムを動作させます。

 

エクスプローラーを開く > クイックアクセス> の欄をクリック

するとpathやリモート接続先を直打ちで指定できるようになるので

\\ホスト名

を入力し、Enterをクリックします。

 

ubuntu_init_myrobot2_access

 

Windows 10の場合、このようなWindows セキュリティ画面が表示されるので

ubuntu_init_windows

ユーザー名:ubuntu

パスワード:任意

として記入してOKをクリックします。

 

ubuntu_init_myrobot2-share

このようにファイルサーバーにアクセスできたら、成功です。

 

TeraTermでSSH接続している場合は

cd ..

cd /share

の順にコマンドを実行することで、ファイルサーバーの階層へ入ることができます。

 

ファイルサーバーを上手く使えば、プログラムをRaspberry Piへ移すのが非常に簡単になるのでオススメです。

 

役立つUbuntuコマンド

上記で一通りの初期設定は終了となりますが、他にも役立つUbuntuコマンドがあるので紹介します。

 

ubuntuコマンドのロケール設定

言語や地域情報の設定であるロケール情報について紹介します。

 

コマンドで使えるロケール一覧を表示

Ubuntu等のコマンドで使えるロケールの一覧を表示するには

localectl list-locales

コマンドを使用します。

 

日本語や英語以外にもロケールを設定したい場合は、このコマンドを使用しましょう。

 

ロケールを環境変数として設定

Ubuntu等のコマンドで使用する言語を変更するときは

export LANGUAGE=ja_JP.UTF-8

export LANGUAGE=en_US.UTF-8

などと記述することでロケールの設定を環境変数として設定することができます。

 

LANGUAGE 以降は設定する言語になるので、設定したい言語に合わせて打ち込むコマンドを変えてください。

 

ロケールをlocalectlコマンドより設定

上記コマンドの他

sudo localectl set-locale LANG=ja_JP.UTF-8

と localectl コマンドを使ってロケールの設定を行うこともできます。

 

調べたところ、exportとの明確な違いが不明だったので両方記載しておきました。

 

ubuntuのバージョン確認/GUI環境の設定

Ubuntu Server20.04を今回使用しましたが、GUI環境が欲しいと思ったときに以下のコマンドを使用してみてください。

 

ubuntuのバージョン確認

SDカードに書き込んであるOS(今回の場合はUbuntu)のバージョン・種類を確認には

cat /etc/os-release | grep VERSION

というコマンドを使用します。

 

ROSなどのパッケージを使用するときにUbuntuのバージョンが指定されているものがある場合は、こちらのコマンドはどこかにメモしておいて方が良いかもしれません。

 

ubuntuデスクトップ(GUI環境)のインストール

Ubuntu ServerなどGUI環境がない場合は

sudo apt install ubuntu-desktop

のコマンドを使用することでUbuntu Desktop(GUI)環境をインストールすることができます。

 

Ubuntu Desktopをインストールする前にVNC Viewerなどの設定準備をしておくとスムーズに進めることができると思います。

 

GUI環境も準備しておきたい方は下記の記事にてまとめたので、ぜひご覧ください!

Ubuntu Desktopをラズパイへインストールし、VNCでリモート接続してみた

 

以上、Ubuntuの初期設定やIPアドレスの固定、SSH接続方法などを紹介しました。

Ubuntuの初期設定時に当記事がお役に立てば幸いです。

 

お疲れ様でした。

ubuntu_init_thumbnail
学びに関する情報をチェック!