89
88

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Windows10からRaspberryPiにカンタンSSH接続

Last updated at Posted at 2020-05-01

#はじめに
PCの遠隔操作方法には様々なものがありますが、
GUIでの接続を前提としたものは、RDPやVNC
CUI(コンソール)での接続を前提としたものは、今回取りあげるSSHが代表的です。

2018年以降のWindows10ではOpenSSHというSSH接続ソフトがプリインストールされ、
コマンドプロンプトで簡単に実行できるようになったので、
RaspberryPiのお手軽遠隔操作を試してみます。

なお、SSH接続には
・パスワード認証
・公開鍵認証
の2種類があるので、本記事ではその2種類での手順両方を紹介します。
(セキュリティ的には、後者の公開鍵認証がより推奨されます)

#必要なもの
・RaspberryPi本体
・上記と同じネットワークにつながったWindows10 PC

#パスワード認証の場合:手順
##①下準備
セキュリティ対策のため、こちらの記事の③「ポート番号変更」まで実行してください

##②RaspberryPiのIPアドレス確認
※この操作のみRaspberryPi側で実行します
RaspberryPiで

ifconfig

と打つと

wlan0: flags=   <UP,BROADCAST,RUNNING,MULTICAST>  mtu 
        inet 192.168.***.***以下続く

というような表示が出てきます。
このinetの右に記載されている数字がRaspberryPiのIPアドレスとなるので、
メモしておいてください(IPを固定化したい場合はこちら参照)

##③SSH接続の実行
ここからはPC側の操作です。
###OpenSSHのインストール確認

ssh

と打って、

usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
           [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
           [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
           [-i identity_file] [-J [user@]host[:port]] [-L address]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] destination [command]

のような表示が出れば成功です。

'ssh'は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。

と出た場合は、OpenSSHがインストールされていないので
こちらを参考にインストールしてください。

###SSH接続の実行
下記コマンドを実行します。

ssh RaspberryPiのユーザ名@RaspberryPiのIP -p SSH用のポート

RaspberryPiのユーザ名およびSSH用のポートは「①下準備」で設定した値
RaspberryPiのIPは②で確認したIPアドレスとなります。

RaspberryPiのパスワードが求められるので入力して、

[RaspberryPiのユーザ名]@raspberrypi:~ $

というようなLinuxコマンドが出てくれば成功です。
これでRaspberryPiをSSHで操作することができます。

終了したい場合は

exit

で終了できます。

以上がパスワード接続での接続法です。

#公開鍵認証の場合:手順
##①SSH公開鍵認証の確立
セキュリティ対策も兼ねて、こちらの記事の④「SSHを公開鍵認証に変更」まで実行してください
(少し長いですが、セキュリティホールを作らないためにも根気強く実施頂ければと思います)

##②認証設定の保存
上記①により公開鍵認証でのSSH接続ができますが、

ssh [RaspberryPiのユーザ名]@[RaspberryPiのIP] -i [秘密鍵のパス] -p [ポート番号]

という長いコマンドを毎回打つ必要があり、手間がかかります。
そこで、.sshフォルダにconfigファイルを作る事で、

ssh [ホスト名]

という短いコマンドでSSH接続できるようになります。

VSCodeのような開発ツールでRaspberryPi内のファイルを編集したい場合にも、
このconfigファイルが必要となるので、作っておいて損はないと思います。

###configファイルの作成
下記のようなファイルをメモ帳で作成し、「config」という名前で保存します。
保存先の.sshフォルダは、デフォルトでは
「C:\Users\[Windowsのユーザ名]\.ssh」
となります。
config.png

設定によってはテキストファイルとして保存され、
「config.txt」となりますが、この場合も名前の変更で.txt拡張子を削除すれば問題ありません。
また、ホスト名は任意で大丈夫です。

###SSH接続のテスト
下記コマンドを実行し、

ssh [ホスト名]

公開鍵認証のパスワードが求められるので入力し、

[RaspberryPiのユーザ名]@raspberrypi:~ $

というようなLinuxコマンドが出てくれば成功です。

終了したい場合は

exit

で終了できます。

以上でWindows10からRaspberryPiへのSSH接続は完了です!
お疲れさまでした!

##参考:config作成後のSSHによるファイル送信コマンド

scp [送信したいファイルのパス] [RaspberryPiのユーザ名]@[RaspberryPiのホスト名]:[送信先のパス]

で送信できます。
例(PCのD:\tmpにあるtmp.txtを、ユーザ名"piuser"、ホスト名"raspi"のRaspberryPiのホームディレクトリに送信)

scp D:\tmp\tmp.txt piuser@raspi:/home/piuser

##参考:公開鍵認証のパスワード変更方法
クライアント(上記ではWindowsPC)側で、

ssh-keygen -p

で公開鍵認証のパスワードを変更できます

89
88
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
89
88

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?