In this article, we’ll delve into the process of carrying audio over SSH. This can be a useful skill when working with remote servers, allowing you to listen to audio files or use applications that require sound directly from the server. We’ll explore two methods: enabling network access to local sound devices and tunneling PulseAudio over SSH TCP forwarding.
Yes, it is possible to carry audio over SSH. There are two methods you can use: enabling network access to local sound devices and tunneling PulseAudio over SSH TCP forwarding. The first method is easier but lacks security, while the second method is slightly slower but safe to use over the internet.
Enabling Network Access to Local Sound Devices
The first method involves using the
paprefs tool to enable network access to your local sound devices.
paprefs, you can use the following command in your terminal:
sudo apt-get install paprefs
Once installed, you can open
paprefs and navigate to the Network Server section. Here, you should check the Enable network access to local sound devices option.
When you SSH with X11 forwarding enabled, PulseAudio programs will use X11 to discover your sound server. You can verify this by running the below command:
Or, use the following command:
xprop -root PULSE_SERVER
By telling PulseAudio to listen for network connections using
paprefs, all X11 programs will be able to use it. However, it’s important to note that other users will not have access to your sound server unless you allow it in
One caveat to this method is that it does not encrypt the PulseAudio stream. This makes it suitable for use at home but not over the internet.
Tunneling PulseAudio over SSH TCP Forwarding
The second method involves tunneling PulseAudio over SSH TCP forwarding.
First, you need to enable network access as described in the previous section. Then, use
pax11publish to discover your PulseAudio port, which is usually 4713.
Connect to the remote machine using the following command:
ssh -R 24713:localhost:4713
In this command,
-R specifies that the connection will be forwarded to the remote machine.
24713 is the port number on the remote machine,
localhost is the host, and
4713 is the local port number.
Finally, set the
PULSE_SERVER environment variable to “tcp:localhost:24713” by running the following command:
This method is slightly slower due to SSH overhead but is safe to use over the internet.
Carrying audio over SSH can be achieved through either enabling network access to local sound devices or tunneling PulseAudio over SSH TCP forwarding. While the first method is easier and more straightforward, it lacks the security provided by the second method.
It’s important to note that high bandwidth activities, such as watching YouTube videos over SSH, may not work well due to the high bandwidth requirements. Additionally, securing the audio stream for YouTube videos may not be necessary.
By understanding these methods, you can choose the best approach for your specific needs and ensure that you’re able to carry audio over SSH effectively and securely.
SSH (Secure Shell) is a network protocol that allows secure remote access to a computer or server over an unsecured network. It provides a secure channel for data communication by encrypting the connection.
Carrying audio over SSH can be useful when working with remote servers. It allows you to listen to audio files or use applications that require sound directly from the server, without the need to transfer the audio files to your local machine.
The method you choose depends on your specific needs. If you are working within a secure home network, enabling network access to local sound devices using
paprefs is a simpler option. However, if you need to carry audio over the internet or require encryption, tunneling PulseAudio over SSH TCP forwarding is the recommended method.
Yes, you can use these methods to carry audio from any remote server that supports SSH access. However, you may need administrative privileges on the server to install
paprefs or make necessary configurations.
It’s important to note that high bandwidth activities, such as watching YouTube videos, may not work well due to the high bandwidth requirements. Additionally, securing the audio stream for YouTube videos may not be necessary. Additionally, you should ensure that your network connection is stable and has sufficient bandwidth to avoid audio interruptions or delays.