稼ぐ電子工作

趣味の電子工作をするために電子工作で稼ぐブログ。

ラズパイで仮想通貨取引 環境構築

ラズパイの初期設定

SD カードに OS を書き込んでラズパイを起動し, 初期設定をしていく記事は既にたくさんあります。 例えば Raspberry Pi 初期設定 - Qiita では画面もキーボードも接続せず,最初から SSH で設定する方法が紹介されています。

私は最初の初期設定を画面・キーボード接続なしで行うのは不安だったため, 家に転がっているキーボードとテレビをつないで, 管理用パソコンから SSH 接続できることろまで設定しました。 まず無線 LAN で外部インターネット接続, 続いて SSH の設定と管理用パソコンと接続するため有線 LAN に固定 IP を割り当てました。

管理用のパソコンの有線 LAN にも固定 IP 設定を行い, パソコンから SSH 接続できることを確認したところで, テレビとキーボードをはずしました。

今回は仮想通貨取引を行うために, 取引所にアクセスするためのトークンをラズパイに保管します。 万一ラズパイのデータが外部から抜き取られトークンが流出すると, 勝手に仮想通貨取引されるので,セキュリティ設定はしっかりしておきました。

  • 標準ユーザ pi のユーザ名・パスワードを変更する
  • ufw でポートを閉じる。有線 LAN で接続したパソコンからの SSH 接続のみ許可する
  • /etc/hosts.deny, /etc/hosts.allow でも有線 LAN で接続したパソコンからの SSH 接続のみ許可する
  • /etc/sshd/sshd_config で SSH ポート変更,鍵認証有効化,パスワード認証無効化
  • パッケージのアップデート

公開鍵の設定

公開鍵・秘密鍵ペアを以下のコマンドで作ります。

ssh-keygen -t rsa -b 4096

~/.ssh/id_rsa.pub に公開鍵ができるので, これをラズパイ上の ~/.ssh/authorized_keys として保存します。

/etc/ssh/sshd_config の設定

Port 22 を適当な番号に変更しました。 小さい番号は別のサービスとかぶる可能性があるので, 最低でも 1023 より大きくて 65536 より小さい番号を適当に選びます。 忘れると SSH 接続できません。

鍵認証を使うため,以下の # を外しました。

#AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2

PasswordAuthentication yesno に変更しました。

UFW の設定

以下のコマンドを実行して,UFWを有効化し, 管理用パソコンからの SSH のみ通すようにします。

sudo ufw enable
sudo ufw allow from ${ip_address_of_pc} to any port ${ssh_port}
sudo ufw status verbose

${ip_address_of_pc} はパソコンに設定した固定 IP, ${ssh_port} は変更した SSH 接続ポートに置き換えてください。

/etc/hosts.deny の設定

以下を記述しました。基本的に通信は許可せず, /etc/hosts.allow で許可した通信のみ行います。

ALL : ALL

/etc/hosts.allow の設定

以下を記述し,管理用パソコンからの SSH のみ通すようにしました。 ${ip_address_of_pc} はパソコンに設定した固定 IP に置き換えてください。

ALL : 127.0.0.1
sshd : ${ip_address_of_pc}

SSH 変更の反映

以下のコマンドを実行すると, SSH が再起動して変更が反映されます。

sudo service ssh restart && sudo service ssh status

反映すると SSH 接続が切れます。 UFW などの設定と SSH のポート設定があっていないと, SSH で入れなくなります (やらかしました)。 その場合はもう一度キーボード・画面 (テレビ) をつないで設定し直します。

パッケージアップデート

以下のコマンドを実行しました。

sudo apt update
sudo apt full-upgrade

取引所の登録

今回利用する取引所である bitbank は登録すると API 経由で取引するためのトークンがすぐに発行できました。 ただし,実際に入金して取引を始めるには本人確認が必要でした。

本人確認はスマホで自分の顔と証明書類を取れば良いので時間はかかりませんでした。 ただ,証明書類の厚み確認のために,絶妙な角度で書類の写真を取る必要があり, 角度の調整のために何度かやり直しました。

本人確認が済んだら入金して取引を開始できます。 自分で書いたプログラムが誤っていて大量注文してしまわないように, 最初は少額だけ入金しました。

bitbank では 0.00001 ビットコイン単位で取引できるので, ビットコインが650万円の場合,最低650円あれば取引できます。

次回 pkeisrebpys.hatenablog.com

概要 pkeisrebpys.hatenablog.com