Jetson Nanoにsshログインする


本記事について

個人でJetson Nanoを利用しようとした時に、
Jetson Nanoに対してsshでログインして外部から作業をしようとした際につまづいたのでメモ書きとして残そうと思います。
( 別にこれをしなくてもsshログインは可能です。ですが、毎回IPアドレスを確認するなど必要だったり色々するので。。 )

Jetson Nano側での設定

avahi-daemonをインストールします。
avahi-daemonによってmDNSが使用できるようになってローカルにDNSがなくても、
名前解決が可能になります。

~$ sudo apt-get install avahi-daemon

次にホスト名を変更します。
Jetson Nanoでは、初期ホスト名が{ユーザ名}-desktopになってました。
( 自分で設定したかもだけど。。 )
{ユーザ名}-desktopだとどれがJetson Nanoか忘れそうなので、
今回はホスト名をjetson-nanoに変更します。
変更するファイルは、以下の2つです。( ホスト名は同一にしてください )

  • /etc/hostname
  • /etc/hosts

~$ sudo emacs /etc/hostname
上記ファイルを以下に置き換えます。
/etc/hostname
jetson-nano

~$ sudo emacs /etc/hosts
127.0.1.1 jetson-nano のjetson-nano部分を任意にホスト名にします。

127.0.0.1   localhost
127.0.1.1   jetson-nano

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

ここで一度Jetson Nanoを再起動させます。

再起動後にターミナルを開き以下のようになっていたればOKです。

{ユーザ名}@jetson-nano:~$

現在のavahi-daemonの状況を確認します。

~$ sudo /etc/init.d/avahi-daemon status
以下はコマンド結果の部分抜粋ですが、下から2行目のように jetson-nano.localとなっていれば成功です。
反映されていない場合は以下のコマンドを実行して再度確認してください。

~$ sudo /etc/init.d/avahi-daemon restart

● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
   Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2021-01-02 15:45:47 JST; 22min ago
 Main PID: 3803 (avahi-daemon)
   Status: "avahi-daemon 0.7 starting up."
    Tasks: 2 (limit: 4174)
   CGroup: /system.slice/avahi-daemon.service
           ├─3803 avahi-daemon: running [jetson-nano.local]
           └─3903 avahi-daemon: chroot helper

動作の確認

実際にsshでJetson Nanoにログインして正しく動作していることを確かめましょう。

じぶんは、iPadで確認しました。( Termiusというアプリ )

アプリにsshの情報を入力して、実行してみるときちんとsshログインできていることがわかりました。( 添付画像参照 )

最後

Jetson Nanoにsshログインできたけど、なに作ろう。。
それでは