投稿者「memonotealpha」のアーカイブ

Raspberry Pi セットアップ

Raspberry PiをSSHで運用する際のセットアップ方法

OSイメージをmicroSDカードへ書き込む

Raspberry Pi のOSはRaspbian

SSHで運用するのでLite版を使う。

書き込む方法は、いくつかあるが通常の方法がおすすめ

  1. OSをmicroSDカードへ書き込めるソフトを使い書き込む通常の方法
  2. PiBakeryを使いWi-Fiなどネットーワーク設定を先にセットアップし書き込む方法

書き込みソフト

  • balenaEtcher
  • Rufus
  • Win32 Disk Imager

SSHを有効にする

初期状態ではSSHが無効になっているのでSSHを有効にするためにbootボリュームの直下にssh ファイルを作成する。

ファイル名「ssh」のファイルを作成。

wpa_supplicant.conf ファイルを作成

SSHで操作するためには、ネットーワークに繋がっている必要があるため、WiFiの設定をあらかじめ設定する。

ファイル名「wpa_supplicant.conf」のファイルを作成しWiFiの設定をする。

wpa_supplicant.conf
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="yourwifi_ssid"
psk="wifipassword"
}

SSHクライアント

SSHで操作するためには、SSHクライアントが必要。好きなSSHクライアント選ぶ。Windows Terminalがおすすめ。

今回はTeraTerm

Raspberry Piのデフォルト設定

Raspbianにログインする初期のユーザー、パスワードは下記

  • ユーザー:pi
  • パスワード:raspberry

パスワードは最初に変える

# Terminalからのログイン方法
# -p がポート番号
ssh pi@192.168.10.2 -p 22

電源

電源をオフ、再起動するコマンド。

電源をオフにする

sudo shutdown -h now
# or
sudo halt

再起動

sudo reboot

言語設定

言語、タイムゾーンが日本になっていないので日本設定にする。

sudo raspi-config

4 Localisation Options

Change Locale

スペースキーで項目を選択する。Tabキーでokに移動。

  • ja_JP.EUC-JP EUC-JP
  • ja_JP.UTF-8 UTF-8
  • en_US.UTF-8 UTF-8

Change Timezone

タイムゾーン

tokyo

ユーザーの設定

初期ユーザーのpiを変更、新しいユーザーを追加する。

いずれか選ぶ

  • 新しいユーザーを追加してpiユーザーを無効(推奨)
  • pi ユーザー名とパスワードを変更
  • pi ユーザーのパスワードを変更

新しいユーザーを追加する

新しいユーザー(alice)を追加するには、次のコマンドを入力

sudo adduser alice

新しいユーザーのホームディレクトリが作られる

/home/alice/
新しいユーザー(alice)に pi ユーザー相当の権限を与える
sudo usermod -a -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,gpio,i2c,spi alice

新しいユーザーが動作していることを確認

sudo su - alice

piユーザーを無効、削除する

piユーザーを無効化

# sudoグループから削除
sudo gpasswd -d pi sudo

#sudo権限を無効化
sudo nano /etc/sudoers.d/010_pi-nopasswd
#pi ALL=(ALL) NOPASSWD: ALL
alice ALL=(ALL) PASSWD: ALL
sudo passwd pi

piユーザーを削除する

sudo deluser pi
sudo userdel -r pi

sudoにパスワードを要求させる

強制的にsudoパスワードを要求するように、次のコマンドを入力

sudo nano /etc/sudoers.d/010_pi-nopasswd

ユーザー(またはスーパーユーザー権限を持つユーザー)を次のように変更。

alice ALL=(ALL) PASSWD: ALL

root ユーザーについて

デフォルトでは root にパスワードが設定されていなければログインも su も出来ないようになっている。suは、Switch Userの略

更新

ファームウェアの更新

sudo apt-get install rpi-update
sudo rpi-update
sudo reboot

OSの更新

sudo apt-get dist-upgrade

パッケージの更新

sudo apt-get update
sudo apt-get upgrade

[未完成]設定

sudo raspi-config

https://www.raspberrypi.org/documentation/configuration/security.md

セキュリティ設定

https://www.raspberrypi.org/documentation/configuration/security.md

[未完成]SSHのセキュリティを改善

SSHの初期22ポートは攻撃対象なのでポート番号を変更する

sshの待ち受けポート番号変更

sudo nano /etc/ssh/sshd_config
systemctl restart ssh
# or
sudo /etc/init.d/ssh restart
# Terminalからのログイン方法
# -p がポート番号
ssh alice@192.168.10.2 -p 22

SSH鍵生成

鍵ペア認証を使用

Tera TermでSSH鍵生成

公開鍵と秘密鍵の作り方

Tera TermのSCP機能を利用

最初のTera Term新しい接続ウインドウを閉じ、Tera Termのメニューから設定 > SSH鍵生成を選ぶ。

秘密鍵
id_rsa

公開鍵
id_rsa.pub

~/.ssh/id_rsa.pub

mkdir .ssh

 

cd ~
sudo mkdir .ssh
cat id_rsa.pub >> .ssh/authorized_keys
sudo chmod 700 .ssh
sudo chmod 600 .ssh/authorized_keys
rm id_rsa.pub
sudo nano /etc/ssh/sshd_config

ファイアウォールをインストール

UFW

sudo apt install ufw

UFWの設定

UFWを有効にする前に、SSHが使用しているポートのアクセスを許可する

# SSHが使用しているポートのアクセスを許可する
sudo ufw allow ssh

特定のポート(22)のアクセスを許可

sudo ufw allow 22

UFWの現在の設定

sudo ufw status

UFWを有効にする

sudo ufw enable

UFWを無効にする

sudo ufw disable

指定できるアプリケーションを見る

sudo ufw app list

設定を削除

sudo ufw status numbered
sudo ufw delete 番号

fail2ban

sudo apt install fail2ban

設定ファイル(jail.conf)をコピーしてjail.localを使う。

jail.local

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

指定したJAILルールのステータスとBAN状況を表示

sudo fail2ban-client status sshd

Fail2banのステータスを表示

sudo fail2ban-client status

Fail2ban再起動

sudo systemctl restart fail2ban

対象のIPからのパケットを REJECT(拒否)ではなくDROP(破棄) する。

sudo nano /etc/fail2ban/action.d/iptables-common.conf
blocktype = DROP
systemctl start fail2ban
systemctl stop fail2ban

RDP Wrapper使い方

RDP WrapperはWindowsのHOMEエディションでもリモートデスクトップの接続される側のホストPCとして使えるように設定するソフト。

接続する側のクライアントはHOMEエディションでも使えます。

現在は、通常の方法でRDP Wrapperをインストールしてもリモートデスクトップの設定が出来ないので多少手間がかかります。

続きを読む

Androidトラブル解決策

Androidトラブル解決策

バージョンアップ後に動作が重くなった

システムキャッシュパーティションをクリアすると動作が改善される場合がある。ファイル、設定は削除されません。

実行前に、端末の型番 Wipe cache partition などで検索し実行しても問題のない端末か調べる。

解決策

Recovery Modeリカバリーモードに入り、「Wipe cache partitionキャッシュパーティションの削除」を実行。
「Wipe data/factory reset」はファイル、設定が全て削除される初期化なので注意

Recovery Mode起動方法

基本的にこの操作でRecovery Modeが起動します。

  1. 端末の電源をオフにする。
  2. 端末の音量ボタンと電源ボタンを同時に長押し(端末の音量ボタン +-どちらを押すかは機種によって異なる)
  3. ボタン放すタイミングは機種によって異なる。

端末の型番 Recovery Modeで検索すれば、その端末のRecovery Modeの起動方法が見つかるはずです。

Recovery Modeの操作方法
上の音量ボタン 上
下の音量ボタン 下
電源ボタン 決定

Google 公式のAndroid に関する問題のトラブルシューティング

MbpsとMBの違い

ファイルサイズで使われる”MB”

megabyteメガバイト (MB) または megabyte per second (MBps, MB/s)
大文字の”B“を使用します。
ソフトウェアでデータのサイズを表記する際に使用される単位

通信速度で使われる”Mbps”

megabitメガビット (Mb) または megabit per second (Mbps, Mb/s)
小文字の”b“を使用します。
ダウンロード速度などデータの転送速度を表記する際に使用される単位

計算方法

1byteバイトは8bitビット

bitビットbyteバイトの8倍

1MBのファイルサイズを1秒で転送するには8Mbpsの接続速度が必要。
10MBのファイルサイズを1秒で転送するには80Mbps
100MBのファイルサイズを1秒で転送するには800Mbps

参考

https://www.softperfect.com/contact/knowledgebase.php?article=10

「Humble Unity Bundle 2019」の内容

ダウンロード販売サイト「Humble Bundle」で2019年09月25日~2019年10月16日(日本時間)の間「支払いたい分だけ支払う」方式で販売されていた。

Humble Bundle」はバンドル購入時、販売で得られた収益をゲーム制作者だけでなく複数の慈善団体に配分する販売サイトです。(配分する割合は購入者が決められます。)

$1039相当のUnityで使用できるAssetなどのバンドル。$15以上支払うと全て取得できました。

販売終了後はページも消えるので記録としてAssetの項目は原文も載せています。

続きを読む

CRYENGINE V Game SDKの機能を変更する

Game SDKを使用してゲーム作成する際、Game SDKの機能は必要ですが、デフォルトのFPSゲームの機能は不要ということがあります。この記事では、この使用しないデフォルトのFPSゲームの機能を隠す方法を紹介します。 続きを読む

CRYENGINE 5.6 概要

日本時間 2019年08月29日 夜 Crytekは、CRYENGINE Vの改良、機能強化など新しい機能を導入したCRYENGINE 5.6をリリースしました。

このメジャーリリースには1,000以上の変更点があり、「Hunt:Showdown」に使用された実績のある機能が含まれています。

https://www.cryengine.com/news/cryengine-56-is-available-now

続きを読む

GIMP モノクログレー画像をアルファチャンネルに追加する方法

モノクログレー画像をアルファチャンネルに追加する方法

レイヤー > レイヤーマスク > レイヤーマスクの追加

レイヤーマスクを追加したらアルファチャンネルに追加したい画像を別タブに開き、その画像をすべて選択(Ctrl + A)してコピー(Ctrl + C)

元の画像に戻り、貼り付け(Ctrl + V)

下の画像を「名前を付けて保存」などで保存。アルファチャンネルを表示できる画像ビュアーで見る

アルファチャンネルを表示できる画像ビュアーの例 honeyview

CRYENGINE V プレイヤーキャラクターの変更方法

テンプレートプロジェクトのプレイヤキャラクターの変更方法

ここでは、C++ Template project の「Isometric Pathfinding」を使用しています。GameSDKは使用しません。他のテンプレートプロジェクトでも、もちろんプレイヤキャラクターを変更可能です。

https://docs.cryengine.com/display/CEMANUAL/Tutorial+-+Replacing+the+Player+Character 続きを読む