ICTについて使える情報を発信していきます. 遠回りしたり, 自分のペースで...

このブログを検索

IPアドレス固定, hostname変更 [RaspberryPi3]

私がした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 コメント:

コメントを投稿

Popular Posts