⏱ 3 mins remaining

Ssh! No Ports

SSH to a remote linux device without it having any open ports

Set up the Daemon

  1. Place your .atKeys files in ~/.atsign/keys directory for both your client and device. One atSign will be the manager (client) atSign and the other atSign will be the device atSign (that you will be connecting to via ssh).

  2. Start up the daemon (sshnpd) on the remote device. Remember to start up the daemon on device start up via rc.local or similar.

./sshnpd --atsign <@your_devices_atsign> --manager <@your_manager_atsign> \
--device <iot_device_name> -u

(Or run the dart file via dart run)

dart run bin/sshnpd.dart <args|flags>

See the options & flags available for the daemon binary:

ArgumentAbbreviationMandatoryDescriptionDefault
–keyFile-kfalseSending atSign’s keyFile if not in ~/.atsign/keys/
–atsign-atrueatSign of this device
–manager-mtrueManager’s atSign, that this device will accept triggers from
–device-dfalseSend a trigger to this device, allows multiple devices share an atSign“default”
FlagsAbbreviationDescription
–[no-]sshpublickey-sUpdate authorized_keys to include public key from sshnp
–[no-]username-uSend username to the manager to allow sshnp to display username in command line
–[no-]verbose-vMore logging