SSH Login into Squeezebox Radio

After around eleven years almost continual use my old Logitech Squeezebox Radio (now discontinued) started crashing and restarting on a regular basis, like every twenty minutes. In an attempt to tell if this is a software or hardware fail I started searching the internets and found that you can SSH into these over the network, but as OpenSSH updated and changed the security requirements the information given was out of date.

Squeezebox Radio
Squeezebox Radio

Some knowledge of SSH and the CLI Terminal is assumed (Bash, Zsh, etc), I am using a Raspberry Pi running Debian GNU/Linux 12 (bookworm) to SSH into the Radio.

Enable SSH on the Squeezebox Radio

The Option can be found in the menus:

  • Settings
    • Advanced
      • Remote Login
        • Enable SSH

Enable SSH on the Squeezebox Radio
Enable SSH on the Squeezebox Radio

The default settings are:

  • Username: root
  • Password: 1234
  • IP Address: <shown on your Remote Login screen>

Settings for SSH on your Computer

In my case the Radios IP address is 192.168.1.103, yours will be different. It will have shown you your address when you enabled SSH on the Radio.

The original instructions I found have become a little out of date and OpenSSH no longer directly supports some of the older ciphers and host-keys. One cannot simply SSH login to the Radio without some faffing about, for example using the settings from the original article:

To force the old protocols, the KexAlgorithms and Ciphers can be used, for this I added to my ~/.ssh/config file.

with this entry:

Don’t forget to change my IP address to yours, save the file and then attempt to connect with:

It should now ask you for a password, the default is the totally secure: 1234
Congratulations, your Squeezebox Radio is now open.

Successful login into Squeezebox Radio
Successful login into Squeezebox Radio

Alternativley, in the terminal you can set the options and connect with:

But for me an entry in ~/.ssh/config saves having to remember all of that.

In the end, a factory reset (in the menu settings) appears to have fixed the problem.

Copying Files

I found that using scp to copy a file to a remote computer while logged into the Radio didn’t work. Giving an assortment of errors, for example:

The fix for this is to copy the file using the computer you are connecting to the Radio with:

This makes use of the ~/.ssh/config file. The -O option forces use of the legacy SCP protocol for file transfers instead of SFTP as this is not implemented on the Radio.

Troubleshooting

I would hope the above saves you a couple of hours trying things from the internet, not everything is needed in that config file but as its working I stopped.

The version of Linux on this Squeezebox Radio dates from February 2014:

I have read there are newer versions of the firmware and a community version, but not felt the need to update.

Here is the main problem I found while working on this setup, I kept getting this unable to negotiate error:

This was caused by some of the Ciphers being included in my ~/.ssh/config not being in my OpenSSH install, probably because they are insecure. Changing the Ciphers line from:

to this:

fixed that problem. You can find the Ciphers installed in OpenSSH on your computer with % ssh -Q ciphers, the Squeezebox uses a very old version of Dropbear SSH.

Debian Trixie – Old Cyphers Not Welcome [Old Firmware]

Update: Following the February 2026 firmware update on the radio to 9.0.1-r17084 the SSH service got updated to dropbear_2025.88 and the following is no longer needed for access.

I updated my Raspberry Pi 5 to Debian Trixie and in OpenSSH v10 the elderly diffie-hellman-group1-sha1 is no longer included, resulting in an Unable to negotiate error. A work around for this is to use debootstrap to install a Debian base system in a subdirectory of another already installed system, chroot for changing the apparent root directory for the current running process and its children, and schroot which lets users run commands or interactive shells in different chroots. Install with:

This creates a Debian Buster environment in /oldssh. On an intel x64 computer leave out the –arch=arm64. Now we need to access the Buster environment and get things setup:

you should now be able to login to the Squeezebox:

And because life is too short to remember all that, create a nano /root/.ssh/config file with the following:

This is slightly different from that used before, with the use of PubkeyAcceptedKeyTypes instead of PubkeyAcceptedAlgorithms this is because of a change in Version 7 we are using in the chroot and the Version 9 before the update to Trixie. With this we can now login to the Squeezebox with a mildly clunky workflow of:

Using schroot and a small shell script can make things easier, add the following to the end of /etc/schroot/schroot.conf and set your username:

and in your home directory add the file squeezessh.sh with the following:

now set it to executable chmod +x squeezessh.sh and run it ./squeezessh.sh

Links and Sources