LoginSignup
0
0

NanoPiにArmbianをインストールした

Last updated at Posted at 2023-06-30

購入

秋月電子にて3500円くらい

イメージダウンロード

ArmbianGeneral purposeNanopi Neo and Core イメージダウンロード

Screenshot from 2023-07-01 08-35-21.png

xzでダウンロードします。
ダウンロードリンクボタンが下の方にあって分かりづらかったです。

イメージインストール

Screenshot from 2023-07-01 08-27-34.png

マイクロSDカードへの書き込みはRaspberry Pi Imagerが使えます。
OSはダウンロードしてきたxzを選択して、マイクロSDは差し込んだものを選択します。
歯車アイコンでIDとかパスワードとか設定しようとしましたが、raspbian OSのときのようには設定してくれませんでした。「設定できませんでいた」というエラーウィンドウが出ますが、無視してSDカード抜きます。

ハードウェアの接続

NanoPiに対して下記を接続します。

  1. 書き込みしたマイクロSDカードを差し込みます。
  2. ルータへ接続されたLANケーブルを接続します。
  3. 5V給電マイクロUSB type Bケーブルを接続します。

USBケーブルを挿入した時点で勝手に電源が入ります。

ssh接続

ホストPC側からsshで接続します。まずはNanoPiのIPアドレスを調べます。
私はUbuntu22.04を使っていますのでarp-scanでLAN内の機器のIP情報を調べることができます。

$ sudo apt install arp-scan
$ sudo arp-scan --localnet

として新たに接続されたNanoPiのIPアドレスを調べます。

Interface: eno1, type: EN10MB, MAC: 2c:9d:92:33:24:66, IPv4: 192.168.10.107
Starting arp-scan 1.9.7 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.10.1	02:10:82:91:55:96	(Unknown)
...
192.168.10.113	04:41:42:a3:a2:ea	(Unknown: locally administered)
...

新しめの番号が出てきたので、特定。

$ watch -n3 sudo arp-scan --localnet

とすると、接続の瞬間にハイライトされるのでわかりやすいかもしれません。

初回sshログイン

arp-scanで見つけたIPアドレスを使用して、root@IPアドレス でログインします。初期パスワードは1234で固定です。

$ ssh root@192.168.10.113
# パスワードは`1234`

参考に見ていたページではUSBシリアル変換がないと接続できないみたいなことが書いてあったので、ダメ元でやってみましたが、問題なくssh接続することができました。

これでDHCPでLANから見えるんでしょ?
と思ったらLAN上にそれらしきホストが確認できず。。
arp -a とやっても知ってるマシンしか出てこない。。
起動失敗したかな、、?
(後で分かりますが、結果的にはこの時点で起動できてました。起動はできていましたが、この時点ではLANには繋がっていなかったようです)

何となくの「いけるだろ」って感じであまり調べずに買っちゃったってこともあるんだけど、たまたまUSBシリアルモジュール持ってたからなんとかなったものの、持ってなかったらもうちょっとハマってたな、これ。

HDMI出力がないので、OSのセットアップには USBシリアル のモジュールを使用します。

Nano Pi NEO 自宅サーバを再インストールしました
NanoPi NEO に Armbian をインストールしようとしてつまづいた話

初回設定

Screenshot from 2023-07-01 08-14-06.png

sshログインできました。

Screenshot from 2023-07-01 08-18-51.png

  1. rootパスワード変更します。
  2. shellの種類を選びます。
  3. アカウント作成します。(UID, PW)
  4. 地域は自動選択
  5. locale自動選択

以上で設定終わり。簡単

パッケージ更新

とりあえずすべてのパッケージをアップグレードします。

# apt update && sudo apt upgrade -y

ここまでやってディスク容量を確認してみます。

nanopineo:~:% df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs            50M  2.5M   47M   6% /run
/dev/mmcblk0p1   29G  1.6G   27G   6% /
tmpfs           246M     0  246M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           246M     0  246M   0% /tmp
/dev/zram1       47M  828K   43M   2% /var/log
tmpfs            50M     0   50M   0% /run/user/0
tmpfs            50M     0   50M   0% /run/user/1000

ディスクを1.6GBしか使っていません。とてもエコです。

ssh設定

クライアント側PCへ戻り、sshキーをNanoPiへ送ります。

$ ssh-copy-id u1and0@192.168.10.113
# 初回で設定したパスワードを入力します

これで次回から

$ ssh u1and0@192.168.10.113

でログインできます。

sshで入りやすくする

さらに~/.ssh/configに追記します。

~/.ssh/config
...
Host nanopineo
    Hostname 192.168.10.113
    User u1and0
    IdentityFile ~/.ssh/id_rsa

NanoPi初期設定時にホスト名はnanopineoに勝手にされるようですので、Host nanopineo
HostnameにIPアドレスを書きます。

これで

$ ssh u1and0@nanopineo

でログインできます。

image.png

パスワードログイン不可にする

公開鍵認証でログインできることを確認したら、パスワード認証ログインの必要がないので、設定を書き換えます。

ホスト側(NanoPi)でsshd_configを書き換えます。

# sudo vim /etc/ssh/sshd_config

PasswordAuthentication yesとなっているところを

PasswordAuthentication no

に書き換えます。

# sudo systemctl restart sshd.service

そして、sshデーモンを再起動します。

これでパスワードログインが不能になりました。
確認するときはNanoPiのユーザーで~/.ssh/authorized_keyというファイルをリネームしてからsshしてみてください。
ログインが弾かれるはずです。

$ ssh u1and0@nanopineo
u1and0@192.168.10.113: Permission denied (publickey).

sudoをパスワード無しで実行できるようにする

/etc/sudoersというファイルを編集すればいいのですが、しくじると一生sudoできなくなる代償の大きい呪いにかかるので、普通はvisudoコマンドというsudoersのシンタックスをチェックしてくれるsudoers編集に特化したコマンドがあります。

$ sudo visudo

NanoPiではそのまま実行するとnanoというエディタで開きます。

Vimmerの人以外はここはスルーして次に進んでください。

vimで開くにはvimをインストールしてからvimで開くように下記のようにします。

$ sudo apt update && sudo apt install -y vim
$ EDITOR=/usr/bin/vim sudo visudo

sudersファイルが開いたら、下記のように特定にユーザーがすべてのコマンドをパスワード無しで実行できるように書きます。

/etc/sudoers
u1and0  ALL=(ALL:ALL) NOPASSWD:ALL

これでユーザー名u1and0はsudoコマンドを使うときにパスワードを求められなくなりました。
ただし、運用には十分注意してあたってください。
(絶対パスワードログインできないようにする、公開鍵認証で絶対に秘密鍵を漏らさない、等)

参考: sudo のパスワードを入力なしで使うには

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0