Performing maintenance on a steam deck through Desktop mode is a bit of a hassle. This guide helps you avoid that hassle by setting up ssh access to your deck.
Unfortunately, we need to use Desktop mode a bit to get ssh access working.
Swap to Desktop mode (Open the Steam menu, Power > Switch to Desktop
)
Open the Application Launcher and run Konsole
Create a password:
passwd
Enable and start the ssh daemon:
sudo systemctl enable --now ssh
I prefer my local devices to be accessible by hostname or a static IP. There are issues with dns resolution of the steam deck that I haven't completed troubleshooting yet, so we'll go the static IP route for now.
The simplest way to do this is from your deck in Game mode. You can browse to
Settings > Internet
, highlight the network you're connected to, and hit Info
(the A
button by default). Your MAC address will be listed.
Typically, you'll access your router via a browser using an address like:
10.0.0.1
192.168.0.1
192.168.1.1
After authenticating, you should look for a way to reserve IP addresses. You
may want to lookup instructions on how to do this for your particular router.
Note that it may be under advanced setup options. I use a NetGear router,
and can reserve addresses at Advanced Setup > Setup > LAN Setup > Address Reservation
.
Add a new entry, giving a static IP to the MAC address you found earlier.
Reset your steam deck.
Steam Deck networking can be quirkier than other devices. I'll add some useful materials for troubleshooting static IP issues here as I come across them.
Open a terminal and run
ssh-keygen -t ed25519
You should be prompted with something like:
Enter file in which to save the key (/home/<username>/.ssh/id_rsa):
Enter a name, such as /home/<username>/.ssh/deck
. This is your identity file.
Install ssh-copy-id
using your favorite package manager, i.e.:
brew install ssh-copy-id
Copy your public key to the steam deck. If you don't already know your deck's IP, you can follow the same instructions for viewing your MAC address to find your IP here. When you have your IP address, run:
ssh-copy-id -i ~/.ssh/<identity>.pub deck@<steam deck ip>
Add the following entry to your .ssh/config
Host deck
HostName <steam deck ip>
User deck
IdentityFile ~/.ssh/<identity>.pub
Connect
ssh deck