よしかわーるど

プログラミングで世界を変える

Raspberry Pi のSSH接続設定

はじめに

OSのダウンロード

Download Raspbian for Raspberry Pi

上記のリンクからOSをダウンロードします

「Raspbian Buster with desktop and recommended software」でもオッケー👍

Etcherのダウンロード

balenaEtcher - Home

OSを書き込むためのEtcherもダウンロードしましょう

OSの書き込み

「(リリース日)raspbian-buster-full」というISOファイルがダウンロードディレクトリにあるはずです.

Etcherを開き、ISOイメージを指定、フォーマットが完了したSDカードを指定します.

Flash!」をクリックします.

待ちます

完了したらSDカードを抜き, ラズベリーパイに挿してあげましょう.

電源を入れる

5.1V, 2.5AのマイクロUSBのスイッチングアダプターをラズベリーパイに挿して電源を入れる.

Raspberry PiSSH接続するための設定

Raspberry PiSSH接続設定をONにします。

f:id:yoshikawataiki:20190816001639j:plain

f:id:yoshikawataiki:20190816001643j:plain

Would you like the SSH server to be enabled?

SSHサーバーを有効にしますか?って聞かれるので「はい(Yes)」

Hostnameの変更

raspi-configのメニューから 2 Network Options - Hostname を選択する。

変更を適用するためにRaspberry Piの再起動をします。

Raspberry PiのローカルIP固定設定

/etc/dhcpcd.conf を編集します. 下記を追記します.

interface eth0
static ip_address=10.0.1.197/24
static routers=10.0.1.1
static domain_name_servers=8.8.8.8

ルータやDNSサーバの設定値は、環境に合わせて変更してください

設定内容の反映

DHCPサービスをリスタートすれば, 反映されるはず

sudo systemctl restart dhcpcd

一応, networkingも

sudo systemctl restart networking

公開鍵認証方式の設定

公開鍵・秘密鍵の作成をする

SSH Keys について詳しく知りたいことがあれば、各自で調べて下さい。

今回は、OpenSSH のssh-keygenというコマンドを使います。

ECDSAというアルゴリズムで鍵を作成します。

$ install -m 0700 -d ~/.ssh
$ cd ~/.ssh

ちなみに 521bit というのは typo ではありませんので、あしからず。

参考: 楕円曲線暗号に 512 bit は存在しない

以下の○○、yoshikawataiki@gmail.comを自分で書き換えて下さい。

$ ssh-keygen -t ecdsa -b 521 -f ○○-raspberry -C "yoshikawataiki@gmail.com"

Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):  <-- パスフレーズを入力(任意)
Enter same passphrase again:  <-- もう一度、パスフレーズを入力(任意)

鍵をラズパイに登録する

作成した ssh 公開鍵を Raspberry Pi にコピーします。 ssh-copy-id が使える場合は楽にコピーすることができます。

$ ssh-copy-id -i [公開鍵のファイルパス] [ユーザ名]@[raspberry pi の IP アドレス or ホスト名]

実行例
$ ssh-copy-id -i ~/.ssh/raspberrypi/○○-raspberry.pub pi@raspberrypi.local

ssh configを書く

記入例

Host rasp1
    HostName raspberrypi.local
    User pi
    IdentityFile ~/.ssh/raspberrypi/○○-raspberry.pub
    Port 22
    TCPKeepAlive yes
    IdentitiesOnly yes
keyword 内容
Host ホスト名
HostName ホストのアドレスか IP アドレス
User ログインユーザ名
IdentityFile ログインするための秘密鍵のパス
TCPKeepAlive 接続状態を継続するかどうか
IdentitiesOnly IdentityFile が必要かどうか

上記のように記載しておくと以下のコマンドで ssh 接続できます。

$ ssh rasp1

参考文献

Raspberry Pi3のLAN外からのSSH接続設定方法 - Qiita

Raspberry Pi 3 (Raspbian Jessie)の無線LANに固定IPアドレスを設定する - Qiita

ターミナルをカスタマイズする

ターミナルをカスタマイズする

どうも、よしかわです。

今回は、Mac のターミナルをカスタマイズしていきます。

対象読者

  • Mac を使っている人
  • 自分だけの環境が欲しい人
  • かっこいいエンジニアになりたい人

はじめに

僕の周りのターミナルを見たら、こんなターミナルだったんです。

↑ の白黒のターミナルだったんですよね、しかも文字小さい

かっこいいターミナルを作って欲しいという思いで書いていきます。

事前準備

Mac に Homebrew が入っていることを前提に書きます。

インストール時に Xcode が入っている必要があるので、入っていない方は AppStore から Xcode を導入しましょう。

それでは、Homebrew をインストールするために、ターミナルで以下のコマンドを入力

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor

これで iTerm2 をダウンロードする環境が整いました!

iTerm2 を使う

Mac の標準のターミナルを使っても良いんですけど、もっと便利なアプリがあるので紹介します。

ターミナルで以下のコマンドを入力

brew cask install iterm2

テーマを変えてみる

僕の好きなテーマは Monokai Vivid

git clone git@github.com:mbadolato/iTerm2-Color-Schemes.git

シェルを変えてみる

たいていの Unix 系 OS のデフォルトのシェルは bash です。

技術力があるエンジニアがよく使っている zsh に変更してみましょう!

brew install zsh

インストールが完了したら、/etc/shellszsh のパスである/usr/local/bin/zshを追加します。

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
# 追加
/usr/local/bin/zsh

ログインシェルを変更しましょう。

chsh -s /usr/local/bin/zsh

プロンプトを変えてみる

シンプルイズベストな pure に変えてみましょう。

以下のコマンドでインストールします。

curl -sL --proto-redir -all,https https://raw.githubusercontent.com/zplug/installer/master/installer.zsh | zsh

~/.zshrc を編集します。

【追記】12月28日に.zshrcを修正しました。

yoshikawataiki/dotfiles

autoload -U promptinit; promptinit

export ZPLUG_HOME=~/.zplug
source $ZPLUG_HOME/init.zsh

# alias
alias l='ls -ltr'
alias la='ls -la'
alias ll='ls -l'
alias rezsh="exec $SHELL -l"
alias ge='cd $(ghq root)/$(ghq list | peco)'
alias gh='hub browse $(ghq list | peco | cut -d "/" -f 2,3)'
alias ...='cd ../..'
alias ....='cd ../../..'

setopt auto_cd
setopt auto_list
setopt auto_menu

# ls 時の色を設定する
export CLICOLOR=true
export LSCOLORS='exfxcxdxbxGxDxabagacad'
export LS_COLORS='di=36:ln=35:so=32:pi=33:ex=31:bd=36;01:cd=33;01:su=31;40;07:sg=36;40;07:tw=32;40;07:ow=33;40;07:'

# plugins
zplug "plugins/git", from:oh-my-zsh
zplug "zsh-users/zsh-autosuggestions"
zplug "mafredri/zsh-async", from:github
zplug "sindresorhus/pure", use:pure.zsh, from:github, as:theme
zplug "zsh-users/zsh-syntax-highlighting"
zplug "zsh-users/zsh-autosuggestions"
zplug "zsh-users/zsh-completions"
zplug "chrissicool/zsh-256color"

# Install plugins if there are plugins that have not been installed
if ! zplug check --verbose; then
   printf "Install? [y/N]: "
   if read -q; then
       echo; zplug install
   fi
fi

# Then, source plugins and add commands to $PATH
zplug load

上記で編集終わったら、source ~/.zshrc を実行するとプラグインのインストールが始まります。

以下のターミナルになったら完成です!お疲れ様でした!

学生ニートが筋トレを始めました 1日目

  • はじめに
  • 学生ニートが筋トレを始めました
  • 今日の運動量

はじめに

体を鍛えるためのグッズやプロテインは何が良いかさっぱりなので、もし恵んでくれる人は以下のほしいものリストから支援よろしくおねがいします。

www.amazon.jp

学生ニートが筋トレを始めました

太りました、まじで。なので、痩せます。ただ痩せるだけじゃ物足りないですよね。

やはり、人類は最強を求めたがる。そこで以下のことを実践しようと思う。

漫画「ワンパンマン」の主人公 サイタマのトレーニングメニューである

  • ランニング10km
  • 腕立て 100回
  • 腹筋 100回
  • スクワット 100回

を毎日欠かさず行うということだ。

しかし、長年運動していなかった人間が急に体を動かすと故障してしまうということで7日間は30%の

  • ランニング 3km
  • 腕立て 30回
  • 腹筋 30回
  • スクワット 30回

を行うことにする。体が慣れてくれば、運動量を増していく。

続きを読む

Tongaliビジネスプランコンテストを見に行った話

tongali.aip.nagoya-u.ac.jp

先日行われたTongaliビジネスプランコンテストに親友が出場するということで、見に行ってきた。

このTongaliプロジェクトは、東海地方で次世代を担う起業家を育成や支援を行うプロジェクトとのこと。

詳しくは、こちらへTongaliプロジェクトについて

情報科学科の僕でも、見ていて面白いプロジェクトがいくつもあって刺激的なものだった。

長ったらしい文章は嫌われそうなので、長曽我部君のプロジェクトでも簡易的にまとめて終わろう。自分のためにも、読者のためにも。

クレージング法を用いた感染症防止衣類の開発についてだ。

着眼点は、人類の命を脅かしている感染症を防止するため蚊を寄せつけないようにする衣類の製造法だ。

虫が嫌うレモンなどの柑橘系の香りを独自の方法で衣類に取り入れるのはとても興味深かった。

最後に、僕の大親友の長曽我部君、本当におめでとう。

俺も絶対に負けないように努力をするぞ。

f:id:yoshikawataiki:20190602214248j:plain

2019年5月22日にやったこと

f:id:yoshikawataiki:20190522232037p:plain

最近、Rubyをずっと触ってるんですけど、やっぱりRailsってすごいですよね。

便利なツールばかりなので、使いこなしてみたいです。

やったこと

docker-composeの修正をした。

Makefileの修正をした。

Rubyチュートリアルを終えた🎉

Vagrantfileの更新をした。

3年生用の資料を作り始めた。

論文ゼミで4年生全員集まった。

3年生と喋った。

自宅のPCにUbuntu 18.04をインストールした。

やりたいこと

Railsのdb:migrateを実装したい。

わからないところ

イベント駆動を書いたことがないので、コードレビューしていく。

はてなブログに移行しました

どうも、よしかわです。

最近、卒業研究で忙しいです。

今回は、はてなブログに移行したことを報告するために書きました。

なぜ

今まで、netlify+gatsby.jsでブログサイトを作っていました。

その前は、netlify+hugoでブログサイトを作っていました。

しかし、管理が面倒くさくなってきたので、はてなブログに移行しました。

良かったところ

一番のメリットは、ブログについてのコーディング時間をすべて記事を書く時間に出来ること。

やっぱり、ブログの管理が以前(Reactを書いていた頃)と比べて楽になりました。

コンパイルやビルドの心配をしなくなったのもいいですね。

プレビュー機能がしっかりしているので、書いててストレスが溜まらないです。

良くなかったこと

やっぱり、レンダリングなどは自分で処理したいなぁっていう時にコーディング出来ないのは辛いですね。

まとめ

一番のメリットは、ブログについてのコーディング時間をすべて記事を書く時間に出来ること。

package.json, componentsの更新する必要がないのは良いですね。

今後は、記事を書くことに集中していきたいと思います。

2019年4月19日にやったこと

やったこと

国際学会のために、論文を書き始めた。

論文を読み始めた。

わかったこと

論文の書き方が分かってきた。

やっていきたいこと

自分も最高の論文を書きたい。

分かりやすい図の作成をしていきたい。