Ssh having issues between two machines

When I try to ssh from my mac to a ubuntu box (both running tailscale) - and showing connected on dashboard, I get this:

$ ssh -vvvv uname@ (Running on a mac m1 laptop)
OpenSSH_8.6p1, LibreSSL 3.3.6
debug1: Reading configuration data /Users/uname/.ssh/config
debug3: /Users/uname/.ssh/config line 1: Including file /Users/uname/.ssh/gcpconfig depth 0
debug1: Reading configuration data /Users/uname/.ssh/gcpconfig
debug1: /Users/uname/.ssh/config line 2: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug2: resolve_canonicalize: hostname is address
debug3: expanded UserKnownHostsFile ‘~/.ssh/known_hosts’ → ‘/Users/uname/.ssh/known_hosts’
debug3: expanded UserKnownHostsFile ‘~/.ssh/known_hosts2’ → ‘/Users/uname/.ssh/known_hosts2’
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug3: ssh_connect_direct: entering
debug1: Connecting to [] port 22.
debug3: set_sock_tos: set socket 3 IP_TOS 0x48
** hangs here **

There is no firewall on the receiving machine running ubuntu 20.04LTS. Sometimes this works. It used to work more consistently a couple of days ago. Any ideas what could be going wrong?