ラズパイのためにクライアント側に余計なソフトを入れたくないということで、
Windows標準機能でラズパイに接続する方法のメモを残しておきます
今回は PowerShell でラズパイに SSHする方法です
また、私の環境ではラズパイのパスワード認証を拒否する設定をしたいので、公開鍵認証の設定方法も書き残します
前提条件
クライアント側: windows 10
サーバー側: Raspbian Buster
手順概要
1. パスワード認証によるSSH接続
WindowsでPowerShellを起動(起動に少し時間がかかる)
以下のコマンドでパスワード認証によるSSH接続を行う
ssh [ログインアカウント名]@[サーバIPアドレス] -p [ポート番号] 例) ssh pi@raspberrypi -p 12345
※ ポート番号22の場合は省略可
※なお、ラズパイ側がパスワード認証拒否設定をしていると接続はできない
/etc/ssh/sshd_config の PasswordAuthentication no が記載されている場合は直接ラズパイをいじって、PasswordAuthentication no をコメントアウトする
初回接続時、接続を続行するか尋ねられるので、yes と入力する
その後、パスワードを入力すると、接続できる
SSHはこれで接続完了です。次は公開鍵認証の設定をしていきます
2. 公開鍵認証の設定
2.1. 秘密鍵・公開鍵の生成
クライアント側(Windows側)で鍵生成を行うため、ラズパイにログインしている場合は、exitなどでwindows側の操作に戻る
windows側で以下のコマンドを打つ
ssh-keygen
以下の入力項目を入力する
Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\tatib/.ssh/id_rsa): [←任意の格納場所] Enter passphrase (empty for no passphrase): [←5文字以上のパスフレーズ] Enter same passphrase again: [←同じパスフレーズ]
※格納場所未入力の場合は C:\Users\tatib/.ssh/id_rsa に鍵が生成される
※パスフレーズは鍵のパスワードであり、ユーザーパスワードとは別物であることに注意
エクスプローラーなどで、[上記格納場所]に、id_rsa と id_rsa.pub があることを確認
※ id_rsa は秘密鍵なので厳重管理
2.2. 公開鍵をラズパイ側に登録
パスワード認証によりラズパイにログインする
ssh [ログインアカウント名]@[サーバIPアドレス] -p [ポート番号]
①ホームディレクトリに /.ssh ディレクトリを作成し、パーミッションを変更
以下はラズパイ側で公開鍵を初めて設定する場合にのみ実施
既に実施済みの場合は、②へ
cd ~/ mkdir .ssh chmod 700 .ssh
※ ~/ はホームディレクトリという意味
②公開鍵認証ファイルに公開鍵の内容を追記
まずはラズパイ側のauthorized_keysファイルを開く
nano ~/.ssh/authorized_keys
次は、windowsのGUI操作に戻り、2.1で生成した公開鍵(id_rsa.pub)をメモ帳などで開く
ものすごく長い文字列が表示されるので、それを Ctrl + C などで一度コピーする
次に、ラズパイ側で開いたauthorized_keysに上でコピーした文字列をペーストする
※ペーストは右クリックで可能
Ctrl + O で保存し、 Ctrl + X でauthorized_keysファイルを閉じる
これで、公開鍵が登録できました