Skip to content
Samuel Elliott edited this page Nov 1, 2024 · 5 revisions

You can enable SSH on AirPort devices by setting the dbug property to 0x3000.

With node-acp:

node-acp is preferred as it supports full session encryption and using a hostname or IPv6 address.

acp --host {hostname} setprop dbug 0x3000

{hostname} should be the hostname or IP address of the AirPort device.

Example:

acp --host airport-extreme.local setprop dbug 0x3000
acp --host airport-extreme.local reboot

node-acp will prompt for the device password by default. You can also provide the password using the --password option, but this is not recommended.

With AirPyrt:

python -m acp -t {ipv4-address} -p {password} --setprop dbug 0x3000

{ipv4-address} should be the IPv4 address of the AirPort device.
{password} should be the admin password of the AirPort device.

Remember you must restart the device to change any settings.

Example:

python -m acp -t 10.0.1.1 -p password --setprop dbug 0x3000
python -m acp -t 10.0.1.1 -p password --reboot

AirPort host key types

Recent versions of OpenSSH don't allow ssh-rsa/ssh-dss keys by default, but as AirPort firmware includes a very old version of OpenSSH it doesn't support any other key algorithms, so connections may fail.

To connect, specify the HostKeyAlgorithms option, either in the ssh command:

ssh -o HostKeyAlgorithms=+ssh-rsa [email protected]

Or, in ~/.ssh/config (this also configures ssh to use the user root by default instead of your local username):

Host airport-extreme.local
    User root
    HostKeyAlgorithms=+ssh-rsa
Clone this wiki locally