2017/12/8

SSHを使ってPCからwifiでアクセス

どうも、クラゲです。
RaspberryPiにキーボードやマウス、ディスプレイを繋げて使うのはちょっと邪魔で面倒です。
SSHという機能を使えば、PCから無線で制御できます!
これは非常に便利ですので、使わない手はありません。
また、無線でファイル転送できるSFTPについても紹介します。

【 目次 】


はじめの準備

SSHやSFTPを行うにはwifi接続が必須です。
また、RaspberryPiと同じwifiルーターに接続されているPCも必須になりますので準備お願いします。

2016年11月末のRaspbianからSSHがデフォルトで無効になりました。
まずは最初に1回だけ有効にしておく必要があります。

ターミナルで以下のコマンドを打ちます

sudo raspi-config


"5 Interfacing Options"を選択


"P2 SSH"を選択


"<はい>" を選択


これで設定完了です!
"<了解>"を選択して""で終了します

SSHでリモートログイン

Windows の場合
フリーソフトのTera Termを使います
ここら辺からダウンロードします
https://forest.watch.impress.co.jp/library/software/utf8teraterm/

インストールして起動するとこのようなウィンドウが立ち上がります

"ホスト"というところに pi@raspberrypi.local と打ち込みます。
最後に .local をつけ忘れないようにしてください。
他の入力項目はそのままで、"OK"ボタンをクリックします。
セキュリティ警告ウィンドウが出た場合は、"続行"をクリックしてください


ユーザー名には"pi"が既に入力済だと思います。
パスフレーズは、ラズパイのパスワードを入力します。
piの初期パスワードは raspberry です。

Mac の場合
Macの場合は標準アプリのターミナルを使用します
次のように入力してください

ssh pi@raspberrypi.local

警告がでたらyesを選択し、その後パスワードを入力します。
piの初期パスワードは raspberry です。

Android の場合
"ConnectBot"や"VX ConnectBot"などのアプリを使うとログインできます。
どちらかというと"VX ConnectBot"の方がピンチ&ズームが出来るのでお勧めです。
Androidの場合、HOST名だとうまくログインできない可能性があるので、下の"ログインできない場合"を参照してIPアドレスでアクセスしてみてください。

これで、別の端末からラズパイを操ることができました!

ログインできない場合

ラズパイとPCが同じWiFiに接続されていますよね?
同じWiFiでない場合はログイン出来ませんので気を付けてください

同じWiFiなのにログインできない場合はこちらを試してください。
先ほどは"raspberrypi.local"というHOST名を使用した方法ですが、端末やソフトによってはHOST名を取得できない場合があります。
その場合はIPアドレスを使います。

IPアドレスを調べる
まず、ラズパイのIPアドレスを調べます
192.168.11.1 などの数値です
ラズパイのターミナルを開いて、以下のコマンドを打ち込んでください

hostname -I

ちなみに ipconfig でも見ることは可能です

IPアドレスでアクセス
出てきた値が "192.168.11.1"だった場合は、Tera Termのホストに"pi@192.168.11.1"と書きます。 .localは不要です。

後の流れは先ほどと同様です。
おそらくこれで大丈夫だと思います。

IPアドレスの注意点
IPアドレスはDHCPの場合、ラズパイの電源OFF/ONする度に数値が変わる可能性があります。
毎回IPアドレスを調べるのが面倒な人は、IPアドレスを固定にする方法などもありますので、ググってみて下さい。

モバイルルーターを使っていてダメな場合
例えばPocket WiFiの場合です。
セキュリティでSSHできないような設定になっている場合があります。
モバイルルーターの設定ページへアクセスして、設定 → LAN Wi-Fi → 基本設定 にて "プライバシーセパレーター" をオンからオフに変更してください。
これでいけると思います。

ファイル転送(SFTP)

SSHで遠隔コマンド操作はできましたが、ファイルを送信することはできませんでした。
そこでSFTPを使ってPCとラズパイ間でファイル転送を行えるようにします。

MacもWindowsもフリーのftpソフトCyberduckをインストールして使います。
https://cyberduck.io/
インストールして起動したら、新規作成ボタンを押し、SFTPを選択し、サーバーにIPアドレス、ユーザー名とパスワードを入力して接続します。

接続:SFTPを選択
サーバ:raspberrypi.local
ユーザ名:pi
パスワード:raspberry

最後に接続ボタンを押せば繋がります。
ダメな場合は、サーバをIPアドレスに変えて試してみて下さい。
許可を求めるウィンドウが出てきたら"許可"をクリックしてください
後はドラッグ&ドロップでファイル操作できます。

以上、SSHを使ってPCからwifiでアクセスでした。