私がしたRaspberryPiの設定は, 「RaspberryPiの設定 まとめリスト」にまとめてあります.
- 今回の設定のメリット
- 遠隔操作系が楽にできるようになる.
- サーバーに繋がるのが楽になる.
- 2台目のRassberyPi買ってつなげても, hostnameが被らない.
- 今回の設定のデメリット
- 設定を間違うとsshができなくなるので, その場合自前でkeyboardを用意する必要がある.
- ネットに繋がらなくなったりする.
IPアドレスとはパソコンの住所のことです. 残念ながらパソコンさんはDHCPという仕組みがあり, 繋がるたびに住所が変わるため, IPアドレスは固定ではありません. ホテルに泊まるような感じですかね. 一度ホテルをチェックアウトしてもう一度泊まると, 部屋が変わってしまう感じです.
だから, 「お前の住所は絶対ここだからな」って決めるのがIPアドレスの固定です. 住所を決めることで, 遠隔操作をする時は「こっちに行けばいんだね」というのがわかります.
…うまく説明できてない感があるので, ここの解説サイトを見て下されば概念がわかると思います.「IPアドレス」
ちなみに, IPアドレスという数字で管理しているものを, 人間がわかるように文字にしたものがhostnameです.
IP固定
「IPアドレスを固定する」を参考にして, inet, netmask, ゲートウェイ(Gateway)を調べます.
$ # wlan0がwifiのこと. inetとnetmaskが分かる.
$ ifconfig
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.90 netmask 255.255.255.0 broadcast 192.168.0.255
~~省略~~
$ # ゲートウェイを調べる.
$ route
カーネルIP経路テーブル
受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース
default 192.168.0.1 0.0.0.0 UG 303 0 0 wlan0
~~ 省略 ~~
上の結果から,
- inet 192.168.0.90
- netmask 255.255.255.0
- ゲートウェイ(Gateway) 192.168.0.1
ということがわかりました.
netmaskの255.255.255.0の4番目の数字が0なのは, inetの192.168.0.90の4番目の数字「90」は「2~254」までで好きにしていいよ―ってことです.
次のコマンドを打ちます.
「static ip_address=192.168.0.90」の「90」は, 「2~254」の間の好きな数字にして下さい. あとはinetの4番目の数字を1にして下さい.
echo "
interface wlan0
static ip_address=192.168.0.90
static routers=192.168.0.1
static domain_name_servers=192.168.0.1" >> /etc/dhcpcd.conf
その後再起動します. 間違っていないところがないかしっかり確認して下さい.
$ sudo reboot
30秒ぐらい待って, sshしてみます.
「ssh ユーザー名@固定IPアドレス」でコマンドを打ってみましょう. これででき…ないw
$ ssh hoge@192.168.0.90
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:2V2gPFgBzJKoVhE09mEer3kvIO1OenyfvGwppkNhwDs.
Please contact your system administrator.
Add correct host key in /Users/${USER}/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/${USER}/.ssh/known_hosts:23
ECDSA host key for 192.168.0.90 has changed and you have requested strict checking.
Host key verification failed.
なんか「接続先のパソコン, 前のと似ているけど何かが変わったパソコンだから危ないよ!」って言っています. どうせOSのアップデートかIPの固定のどちらかで変わったので, 古い情報の入ったファイルを捨てます.
$ rm ~/.ssh/known_hosts
これでもう一度sshすると…
$ ssh hoge@192.168.0.90
The authenticity of host '192.168.0.90 (192.168.0.90)' can't be established.
ECDSA key fingerprint is SHA256:2V2gPFgBzJKoVhE09mEer3kvIO1OenyfvGwppkNhwDs.
Are you sure you want to continue connecting (yes/no)? yes # yesと入力
Warning: Permanently added '192.168.0.90' (ECDSA) to the list of known hosts.
Linux raspberrypi 4.14.42-v7+ #1114 SMP Mon May 21 16:39:21 BST 2018 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu May 24 19:49:27 2018 from xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
hoge@raspberrypi:~ $
これでできた!
これでもできなかった場合は, hostnameは変わっていないので, hostnameでsshして何が間違っているか調べましょう. もう一度上の手順を繰り返してみたり, 他のサイトを参考にするのもあり.
$ ssh hoge@raspberrypi.local
~~原因を調べる~~
hostnameの変更
hostnameは「raspberrypi.local」です. 次のコマンドを打ちましょう.
今回は, 例としてhostnameを「hogepi.local」にしたいと思います.
$ ssh hoge@raspberrypi.local
$ # hogepi.localに変更
$ sudo raspi-config nonint do_hostname hogepi.local
[sudo] password for hoge: #hogeのパスワードを打つ
$ sudo reboot
30秒ぐらい待って, sshしてみましょう.
$ ssh hoge@hogepi.local
hoge@hogepi:~ $
これで「hoge@」以降の表示が変わったことがわかると思います. 以上でhostnameの変更は終了です.
0 コメント:
コメントを投稿