家のローカルネットワーク経由でSSH経由でラズパイに入ることが増えてきたので、手間を減らすためにいろいろ設定する。
特にラズパイに限ったことではない気がする。
最終的には
ssh pi
だけでログインできるようになる。
使ったのはRaspberry Pi Zero WH
Raspberry Pi Zero WH スターターセット (本体・ケース・ヒートシンク・Mini-HDMIケーブル・OTGアダプター)
- 出版社/メーカー: Raspberry Pi
- メディア: エレクトロニクス
- この商品を含むブログを見る
OSは
pi@raspberrypi:~ $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 9.9 (stretch) Release: 9.9 Codename: stretch
IPを固定する(DHCP内)
今までラズパイを再起動すると、前後してしまうので固定したかった。
下記を参考にした
Raspberry Pi に固定IPアドレスを割り当てる方法(Raspbian Jessie) - Qiita
# 現在のIPを確認する # 作業前のログを残すの忘れたので、これは作業後のもの。 # inet 192.168.0.81/24 で現在のIPと範囲を確認する。ルーター等によって違う。 # 今回は inet 192.168.0.6-9ぐらいで変わっていたので、 # /24なら一番右のところは変えて大丈夫そうという雑なネットワーク知識のもと81にした $ pi@raspberrypi:~ $ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether b8:27:eb:40:53:0b brd ff:ff:ff:ff:ff:ff inet 192.168.0.81/24 brd 192.168.0.255 scope global wlan0 valid_lft forever preferred_lft forever inet6 240f:65:8a29:1:2bbd:361e:3a6c:9a0d/64 scope global mngtmpaddr noprefixroute dynamic valid_lft 263sec preferred_lft 263sec inet6 fe80::636a:e31b:a209:3831/64 scope link valid_lft forever preferred_lft forever
# 設定ファイルを開く pi@raspberrypi:~ $ sudo vim /etc/dhcpcd.conf # It is possible to fall back to a static IP if DHCP fails: # define static profile #profile static_eth0 static ip_address=192.168.0.81/24 #static routers=192.168.1.1 static domain_name_servers=192.168.0.1
static ip_addressのところだけ#をはずし、さっき決めたIPに変更する。
他のはそのままだったが今回は大丈夫だった。
static domain_name_serversを家のルーターのIPにしないと繋がらない場所が出てきた。
# 終わったら再起動して接続を確認する pi@raspberrypi:~ $ sudo reboot
秘密鍵でログインする
SSHのたびに毎回パスワード打つの面倒なので、設定する。
公開鍵の作り方とかはありふれた情報なのでググる。
SSH公開鍵認証で接続するまで - Qiita
今回はパスフレーズすら打ちたくないので、ラズパイ専用に新しくパスフレーズが空のものを作って設定した。
終わったら一度ログアウトして、サラッと入れるか試す。
.ssh/configで入力を省略する
詳しくは下記の記事。
~/.ssh/configについて - Qiita
# ラズパイではなく、ノートPCなどホスト側の作業 ~$ vim .ssh/config # 今回は下記3行だけ。 Host pi HostName 192.168.0.81 User pi
確認する
~$ ssh pi Linux raspberrypi 4.19.42+ #1219 Tue May 14 21:16:38 BST 2019 armv6l 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: Sat Jun 29 00:00:30 2019 from 192.168.0.6 pi@raspberrypi:~ $
たった6文字入力で入れるようになった
またsshを使う、scpなどでも有効なので
scp ./filename pi:~/
だけでできるようになる。