Hello,
we got two Jetson TX2 for educational purposes (Devices are flashed with Linux/Ubuntu).
We would like to access those devices remotly(simultaneously) to test our CUDA codes since not everyone has access to Nvidia graphics by themselves.
Is there any guide out there to set up this kind of environment?
We really appreciate your help.
With kind regards
R
Hello. I have a single TX2 host connected to a TP_LINK_POCKET_MR_3020 router operating in 3G/ 4G mode. I need to access my host remotely via ssh (or an alternative) when I am not on the same network. I tried enabling port forwarding on 22 (port for ssh)on my router, but I still wasn’t able to ping the host’s public IP. Could someone help me configure the router or my TX2 so I am able to accomplish remote access, please? Thank you.
What do you see for the following commands when run from both host and from Jetson?
route
ifconfig
Are the two systems on the same router? Or do they go through the internet? What is the topology of how they connect?
The Jetson and external computer are connected to two different routers. Both the routers allow the respective systems to connect to the internet.
Topology:
Tx2 → Router_1 → Internet
Remote PC → Router_2 → Internet
I have enabled Port forwarding (port 22 and 21 for ssh) on Router_1 with the Jetson’s local IP. Despite that, I am unable to ping the Jetson’s public IP address.
Outputs:
Jetson TX2
nvidia@tegra-ubuntu:~$ <b>route</b>
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.254 0.0.0.0 UG 100 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 l4tbr0
172.17.0.0 * 255.255.0.0 U 0 0 0 docker0
192.168.0.0 * 255.255.255.0 U 100 0 0 eth0
192.168.55.0 * 255.255.255.0 U 0 0 0 l4tbr0
nvidia@tegra-ubuntu:~$ <b>ifconfig</b>
docker0 Link encap:Ethernet HWaddr 00:XX:XX:XX:XX:XX
inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth0 Link encap:Ethernet HWaddr 00:XX:XX:XX:XX:XX
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::3128:199a:215:52e6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:165320 errors:0 dropped:0 overruns:0 frame:0
TX packets:115211 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:95614609 (95.6 MB) TX bytes:200425962 (200.4 MB)
Interrupt:42
nvidia@tegra-ubuntu:~$ <b>systemctl status ssh</b>
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enab
Active: active (running) since Tue 2018-12-18 17:22:01 UTC; 4h 49min ago
Process: 10777 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCE
Process: 10769 ExecReload=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Process: 853 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 875 (sshd)
Tasks: 1
Memory: 1.6M
CPU: 959ms
CGroup: /system.slice/ssh.service
└─875 /usr/sbin/sshd -D
Dec 18 21:55:57 tegra-ubuntu systemd[1]: Reloading OpenBSD Secure Shell server.
Dec 18 21:55:57 tegra-ubuntu sshd[875]: Received SIGHUP; restarting.
Dec 18 21:55:57 tegra-ubuntu systemd[1]: Reloaded OpenBSD Secure Shell server.
Dec 18 21:55:57 tegra-ubuntu sshd[875]: Server listening on 0.0.0.0 port 22.
Dec 18 21:55:57 tegra-ubuntu sshd[875]: Server listening on :: port 22.
Dec 18 21:55:57 tegra-ubuntu systemd[1]: Reloading OpenBSD Secure Shell server.
Dec 18 21:55:58 tegra-ubuntu sshd[875]: Received SIGHUP; restarting.
Dec 18 21:55:58 tegra-ubuntu systemd[1]: Reloaded OpenBSD Secure Shell server.
Dec 18 21:55:58 tegra-ubuntu sshd[875]: Server listening on 0.0.0.0 port 22.
Dec 18 21:55:58 tegra-ubuntu sshd[875]: Server listening on :: port 22.
Remote PC:
desktop@remote-ubuntu:~$ <b>route</b>
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 600 0 0 wlp2s0
10.50.10.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp2s0
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 wlp2s0
desktop@remote-ubuntu:~/Downloads$ <b>ifconfig</b>
enx00e04c100737: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.50.10.197 netmask 255.255.255.0 broadcast 10.50.10.255
inet6 fe80::5cae:d09b:73d3:1774 prefixlen 64 scopeid 0x20<link>
ether 00:e0:4c:10:07:37 txqueuelen 1000 (Ethernet)
RX packets 170 bytes 58268 (58.2 KB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 162 bytes 51904 (51.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 8068 bytes 712552 (712.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8068 bytes 712552 (712.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
The first thing to note is that ICMP (ping and traceroute) is a different protocol than the TCP used in ssh. So port forwarding would have to include ICMP forwarding before ping or traceroute would work. Probably not the best thing to do since you may want to ping the router first.
However, there is a more significant problem…you need the address of each router. The 192.x addresses and 10.x addresses you see are non-routeable and the internet will never pass those…these are “private” subnets. Do you know the IP address of each router? On each system you might use a web browser and go to one of the IP address sites, e.g.:
[url]https://whatsmyip.com/[/url]
Then, if Jetson can ping the PC router, and if the PC can ping the Jetson router, you should be able to succeed once ssh is forwarded (and forwarding might already be working, but until you reach the router you won’t know it is possible to work).