LoginSignup
3
4

More than 3 years have passed since last update.

公開鍵認証を使ってMacからラズパイにssh接続する ssh-copy-id便利!

Last updated at Posted at 2019-07-14

なぜ、ssh接続?

ラズパイを使う時、Mac / Linux / PC からネットワーク接続して使うと何かと便利です。専用のディスプレイ、キーボード、マウスを用意しなくて良いので、とても気軽。

その際、ssh接続だと毎回パスワードを入力しなくて良いのでさらに便利。セキュリティ面でも安心。気軽で便利で、かつ安心ということです。

クラスで使う時など、たくさんラズパイがあるときには必須。

前提

  • Macからの接続(ローカル)
  • Raspbian Stretchへの接続(リモート)
  • パスワード認証によるローカル〜リモート間SSH接続ができている。
  • リモートホスト名がhostname001の時、名前解決によりhostname001.localでアクセスできている。

ssh hostname001と打つだけで、ターミナル接続ができるようになります。

ローカル(Mac)で鍵ペアを作成する。

ssh-keygen -t rsa

~/.ssh/に作成される。
秘密鍵:id_rsa
公開鍵:id_rsa.pub

リモート(ラズパイ)に公開鍵を転送/登録

ssh-copy-id pi@hostname001.local

ssh-copy-idコマンドが無い場合、brew install ssh-copy-idでインストール。このコマンドの中身は実はスクリプトです。cat `which ssh-copy-id` で確認できます。

.sshディレクトリ(存在しない場合は作成)とその中にauthorized_keysファイルが作成され、公開鍵id_rsa.pubが中に収容される。別の鍵がすでに存在する時は、authorized_keysに追記される。

同じ鍵を送ろうとすると、すでにありますと言って何もしない。素晴らしい。scpやsftpなどを使うより格段に楽で間違いも起きない。

公開鍵登録後、すぐに鍵による接続が可能になります。

エイリアスで接続できるようにする

エイリアスで接続できるようにすると、さらにさらに簡単接続。

ただし、scpコマンドなどssh関連コマンドで使われる他、Transmit5などのアプリでも使われる場合があるので、設定したことを忘れていると、今までできていた接続ができなくなって慌てます。

通常のコマンド行
ssh pi@itrobot001.local

エイリアス利用の場合、こんなに簡単。
ssh itrobot001
nano .ssh/config

CheckHostIP no

User pi
Port 22
IdentityFile ~/.ssh/id_rsa

Host itrobot*
    HostName %h.local

Host primbell*
    HostName %h.local

Host nao2g-server
    HostName %h.local
CheckHostIP no      known_hostsにIPアドレスを書き込まなくなる。IPアドレスが変わった時の面倒がなくなる。
User pi  コマンド行でユーザー名を省略できる。
Port 22  コマンド行でポート番号を省略できる。22以外の番号にしている時など便利。
Host     コマンド行のホスト名でフィルタリング。
Hostname ホスト名を指定する。
%h コマンド行で指定したホスト名が使われる。

パスワード認証を廃止したり、ルートログインを禁止したり、する?

セキュリティを考える場合、従来のパスワード認証を廃止、ルートでのログインを禁止などの設定をリモート(ラズパイ)のファイル編集にて行なうと良いです。設定に失敗すると、ネットワーク接続での作業が続行できなくなるので、慎重に。

sudo nano /etc/ssh/sshd_config

パスワード認証廃止。デフォルトはyes。
PasswordAuthentication no

ルートでログインできなくする。デフォルトはyes。
PermitRootLogin no


デフォルトでyesだが、明示的に公開鍵認証を可能にする。
PubkeyAuthentication yes

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4