非公式Rock研究所

Radxaのシングルボード(主にRock4c+)について書いています

リモートアクセス(SSH接続)

SSH接続するためのPC ここではSSH接続を使って、Rock4c+に別端末からアクセスする方法を紹介する。

そもそもSSHとは

「通信内容を暗号化したうえで、ネットワーク越しに離れた端末へアクセスできる仕組み」

ネットで検索すると様々な解説がヒットするが、上記の内容で間違いないと思う。
詳細かつ正しい説明はwkipediaのリンクを貼っておく。

Secure Shell - Wikipedia
https://ja.wikipedia.org/wiki/Secure_Shell

これができれば、Rock4c+にディスプレイやキーボードをつながなくても、Rock4c+を操作することができる。

ネットワーク環境

今回は、以下のようなrock4c+とPCが同じ無線ルータで接続されている環境を想定している。

ネットワーク環境図

Rock4c+側の準備

Rock4c+に通電

電源を接続、以上。

無線LANの接続設定とIPアドレスの手動設定ができていれば、自動的にRock4c+は無線接続を開始する。

PCからのアクセス

次はPC側の手順になるが、ここではLinuxのUbuntuを使用している。
そのため、以下に出てくるPCの画面もUbuntuの画面なので注意してほしい。

PCのターミナルを起動し、まずPCからRock4c+までネットワーク的に接続できているか、pingコマンド実行する。

ターミナルでpingコマンドを実行

うまく接続できていれば、上記のように応答が返ってくる。

SSH接続のためのコマンドは以下のとおりである。

$ ssh 【ログインID】@【Rock4c+のIPアドレス】

私が設定したIPアドレスだと以下のようになる。

$ ssh rock@192.168.50.110

コマンドを実行すると、初回は以下のようになにやら確認を求めるメッセージが表示される。

ターミナルでsshコマンド_fingerprint確認

これは、SSHで通信する内容の暗号化に必要な鍵(SSHサーバ公開鍵)について聞いてきている。ここは素直に"yes"と入力する。
(これは初回の接続のみで、一度鍵を作成すると次回からは同じ端末で接続する限り聞いてこない。)

SSHサーバの公開鍵に関する詳細についてはRURUK BLOGさんの解説のリンクを貼っておく。

SSHにおけるフィンガープリントとは。ホスト認証とあわせて解説
https://rurukblog.com/post/ssh-fingerprint/

"yes"を入力すると、次はパスワードを求められるので、rockのパスワードを入力する。

ターミナルでsshコマンド_パスワード確認

ログインに成功すると、次のようにRock4c+のログイン処理が実行され、Rock4c+へコマンドを実行できるようになる。

ターミナルでssh接続成功 コマンドプロンプトの違い

コマンドを受け付ける行の文字(コマンドプロンプト)も、手元のPCからRock4c+の文字に変わっている。