【Jetson nano】ラジコン自動運転開発日記(5)~sshの導入~

ラジコン自動運転

はじめに

ラジコンにjetson nanoを搭載することで簡易的な自動運転車両*1(Jetracer)を作ることができます.

市販のJetracer*2は高額のため,安く車体が大きいものを活用して作成していきます.

今回はJetsonにリモートで操作するためにSSHを導入します.
参考サイト*3はこちら

SSHの導入/起動

sshのinstall

Jetson nanoでは標準で入っているぽいです.

sudo apt install openssh-server

sshの起動

$ sudo systemctl enable ssh
$ sudo systemctl start ssh

sshの起動確認

下のログで「active」でない場合はsshの再起動が必要です.

maki@maki-jetson2:~$ sudo systemctl status ssh
[sudo] password for maki: 
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enab
   Active: active (running) since Thu 2022-08-04 20:13:33 JST; 2h 23min ago
  Process: 6311 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCES
  Process: 6306 ExecReload=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
  Process: 4792 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
 Main PID: 4990 (sshd)
    Tasks: 1 (limit: 2271)
   CGroup: /system.slice/ssh.service
           └─4990 /usr/sbin/sshd -D

 8月 04 20:13:38 maki-jetson2 systemd[1]: Reloading OpenBSD Secure Shell server.
 8月 04 20:13:38 maki-jetson2 sshd[4990]: Received SIGHUP; restarting.
 8月 04 20:13:38 maki-jetson2 systemd[1]: Reloaded OpenBSD Secure Shell server.
 8月 04 20:13:38 maki-jetson2 sshd[4990]: Server listening on 0.0.0.0 port 22.
 8月 04 20:13:38 maki-jetson2 sshd[4990]: Server listening on :: port 22.
 8月 04 20:13:38 maki-jetson2 systemd[1]: Reloading OpenBSD Secure Shell server.
 8月 04 20:13:38 maki-jetson2 sshd[4990]: Received SIGHUP; restarting.
 8月 04 20:13:38 maki-jetson2 systemd[1]: Reloaded OpenBSD Secure Shell server.
 8月 04 20:13:38 maki-jetson2 sshd[4990]: Server listening on 0.0.0.0 port 22.
 8月 04 20:13:38 maki-jetson2 sshd[4990]: Server listening on :: port 22.

公開鍵の導入

ここから公開鍵の設定を行っていきます.
参考サイト*4はこちら

ssh-keyの生成

これはクライアントのwindowsで作業しています.

C:\Users\maki>ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\maki/.ssh/id_rsa): C:\Users\maki/.ssh/id_rsa_jetson
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\maki/.ssh/id_rsa_jetson.

.....

公開鍵のコピー

Windowsからjetsonへコピーします.

C:\Users\maki>scp -P 22 C:\Users\maki/.ssh/id_rsa_jetson.pub maki@192.168.0.101:~/.ssh/authorized_keys
maki@192.168.0.101's password:
id_rsa_jetson.pub                                                                     100%  579     1.6KB/s   00:00

公開鍵の権限変更

jetson上で権限を変更します.

maki@maki-jetson2:~$ chmod 600 ~/.ssh/authorized_keys
maki@maki-jetson2:~$ ls ~/.ssh/authorized_keys
/home/maki/.ssh/authorized_keys
maki@maki-jetson2:~$ ls -al ~/.ssh/authorized_keys
-rw------- 1 maki maki 579  8月  4 22:43 /home/maki/.ssh/authorized_keys

公開鍵を使ったSSH接続テスト

Windowsからjetsonに生成した鍵「id_rsa_jetson」を使ってssh接続します.

C:\Users\maki>ssh -i C:\Users\maki/.ssh/id_rsa_jetson maki@192.168.0.101
Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.9.201-tegra aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.

405 個のパッケージがアップデート可能です。
325 個のアップデートはセキュリティアップデートです。

maki@maki-jetson2:~$

無事にjetsonに入れました.

SSH Configの設定

毎回パスとユーザー名,ホストIPを打つのは面倒なので,こちらのサイト*5を参考にConfigに記載します.

Host jetson
  HostName 192.168.0.101
  User maki
  IdentityFile C:\Users\maki/.ssh/id_rsa_jetson

SSH接続テスト

SSH Configに記載した略式でSSHをすると

C:\Users\maki>ssh jetson
Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.9.201-tegra aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.

405 個のパッケージがアップデート可能です。
325 個のアップデートはセキュリティアップデートです。

Last login: Thu Aug  4 22:47:22 2022 from 192.168.0.100
maki@maki-jetson2:~$

無事に簡単に入れました.

おわりに

無事にsshを使ってパスワードレスで導入できました.

参考サイト

1 :Jetson最新情報やTPUとの比較
2 :JetRacer AI Kit
3 :Ubuntu 20.04 - SSHのインストールと接続方法
4 :公開鍵暗号を用いてのSSH接続(きほん)
*5 :~/.ssh/configについて

コメント

タイトルとURLをコピーしました