SSHing into Jetson Nano on Public (School Network)

I have been working with my Jetson Nano primarily through SSH to enable multiple people to work on the device at the same time. One person works using a monitor attached to the Nano. The rest of the team works through SSH. This works completely fine on a home network. However, when I try to SSH on a school network, I keep getting the error “Connection refused”

Some details:

  1. I called the school’s IT support to see if they have any restrictions in place, but they claim that there is nothing on their end restricting ssh.

  2. We are all using Windows machines to ssh into the Jetson Nano. I would prefer not to use a Linux VM because I would like to leverage the power of my Windows setup while working.

  3. The Jetson Nano is connected to the Internet via Ethernet. Host computers are connected over WiFi.

  4. I am able to ssh into the Nano from a school computer (that is also connected via Ethernet). My computer does not have an Ethernet port, so I cannot replicate this to use from my personal machine. Because of school restrictions, I am unable to download all the software that I need onto the school computer, which is why I need to make this work on my personal computer.

What could be causing the issue? Are there any settings either on the Nano or on my Windows machine that I should check and see?

I would greatly appreciate some support here. I’ve looked at several sources, none of which have resulted in any success.

Hi,
Generally we access the devices though local area network. For this use-case, would need other users to share experience about the network settings.

Is there a router, or does this have a publicly routable IP address? There is a big difference between a connection which bridges to the public internet, versus one that uses a router for that access. Many of the internal IP address of a router cannot be reached over the internet.

Incidentally, you can tell ssh to be more verbose (at least on Linux and *NIX platforms). Even if you don’t want to normally connect using a Linux host PC it would be a good debug tool to use a verbose ssh connection attempt at least once from a non-working location to see if it tells you more about the failure. ssh on command line can use “-v” up to three times to increase verbosity, e.g., “ssh -vvv”.

There also might be restrictions on certain ports such that one part of ssh works, but features like virtual graphics display are blocked.

I’m not sure how I would determine this. The entire university is on the same network, but I’m not sure what the answer to this is. One clarification I will make that I might not have specified is that I am using the school’s network. I’m just using WiFi whereas the Nano is connected via Ethernet. If you’re aware of a way that I can figure this out, I would greatly appreciate it.

I just tried to ssh with the -vvv flag in MobaXterm which gives me a Linux environment within Windows. I get the following errors:

OpenSSH_9.0p1, OpenSSL 1.1.1q 5 Jul 2022
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 10: Deprecated option “useroaming”
debug2: resolve_canonicalize: hostname 127.0.1.1 is address
debug3: expanded UserKnownHostsFile ‘~/.ssh/known_hosts’ → ‘/home/mobaxterm/.ssh/known_hosts’
debug3: expanded UserKnownHostsFile ‘~/.ssh/known_hosts2’ → ‘/home/mobaxterm/.ssh/known_hosts2’
debug3: ssh_connect_direct: entering
debug1: Connecting to 127.0.1.1 [127.0.1.1] port 22.
debug3: set_sock_tos: set socket 4 IP_TOS 0x48
debug1: connect to address 127.0.1.1 port 22: Connection refused
ssh: connect to host 127.0.1.1 port 22: Connection refused

Hopefully the above details might provide some insight into what the issue is.

I also have two other backup options if connecting it this way ends up not working. Do either of these options seem practical?

  1. Connecting the Jetson Nano to the host PC using USB. This wouldn’t be ideal because I would need several very long USB wires, but would this be possible? I’ve seen threads about this, but I don’t understand what IP address I should be sshing into when I’ve connected over USB. I get the same errors as I am when connecting wirelessly.
  2. Connecting the Jetson Nano to a WiFi module to allow it to connect to the exact same network. One idea I had is that the cause may be that the Ethernet network and the WiFi network may be different, so connecting them both to WiFi might fix this.

I really appreciate the support.

Your ssh is trying to connect from one computer to itself, not to another computer. It’s refusing because the computer you are on is rejecting incoming ssh. Where did you get the IP address? The Jetson’s address is not what you are using unless you are logged in to the Jetson and trying to ssh to the Jetson from itself. The only exception to this is if your university is doing something quite odd. An address like this might be used if an application uses networking to reach the local host without actual network hardware.

USB standards don’t allow long wires. USB2 is more forgiving than USB3, and technically around 16 feet is allowed for USB2, but the practical limit is about 15 feet. For longer lengths you would need a repeater. Fortunately, a powered HUB works for this as well in place of a repeater.

Wi-Fi is its own network. You can use that and ethernet simultaneously. The normal setup though is that if you log in to the GUI of a Linux computer the Wi-Fi activates and the ethernet deactivates. The user who logged in owns that Wi-Fi. Both would not have the same address. It is possible to tell the Wi-Fi to always run along with the ethernet if they are configured for that, but I’m the wrong person to ask about this.

How did you determine 127.0.1.1 is the Jetson? That address is very likely wrong (one would have to intentionally set up a network for very odd and strange configuration to even make this possible). If you have access to the Jetson, what is the output of the command “ifconfig” and “route”?

Sorry for the late reply. I have tried multiple different IP addresses. I ran the commands at school hostname -I and got the following result:
image
I then ran hostname -i and got the following:
image
At home and through the school computers, I have been using the first result in hostname -I (this of course changes depending on whether I’m at home or at school).

The results of ifconfig are:

Finally, the results of route are:
image

Now, if I try to ssh using my personal computer, I am now for some reason getting a Connection Timed Out error.

Sorry for the very basic questions about this. This is definitely not my forte but I am doing my best to learn more about how networks and the Internet work. I appreciate the support

Here are the results of trying to ssh into the Jetson from my personal computer using 10.161.123.11:

That looks like the correct address to use since wired eth0 on the Jetson has address 10.161.123.11. You are using the correct IP address when you ssh from another local computer to the Jetson.

I want to state an assumption: Both the Jetson and your computer are on the same switch. This would mean that 10.161.123.11 can talk directly to any other computer on that switch. Are you using a wired network switch whereby both computers are plugged in to that same switch? If not, then perhaps your other computer is talking to 10.161.123.11 on a different computer.

Most likely the Jetson itself is not responding to ssh logins. So let’s test this via ssh from the Jetson to itself. Before you do this, monitor “sudo tail -f /var/log/auth.log”, which will continuously monitor logins. Then, can you do this from the Jetson:

# Either:
ssh 127.0.0.1

# Or:
ssh 10.161.123.11

Does ssh fail or succeed from the Jetson to itself? If this succeeds, then compare what the log says when you try to ssh to 10.161.123.11 from the other machine. We should be able to find out if (A) the Jetson has ssh running, and if (B) the Jetson sees the outside machine’s login attempt.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.