SSHing into Steam Deck

linux steam

I used to have a laptop sticker from the EFF that said "you own it, you pwn it". It's sort of a rite of passage for me to ssh into all of my electronics. Since the Steam Deck runs linux under the hood, this should be an easy one!

Get out of the sandbox

The first thing to do is to get out of the fullscreen steam UI. This is super easy.

Hold down the POWER button (not the steam button like some early tutorials say) for a couple of seconds. The power menu will come up, which has a Switch to Desktop option. Click it.

Get a terminal

This is also easy. Starting to think this didn't really need a blog post :)

Go to the applications menu (stylishly uses a Steam Deck logo), then System -> Konsole.

Open the onscreen keyboard

Hit Steam+X to open the on-screen keyboard. This shortcut is listed in the steam UI, but that shortcut list isn't obviously findable while in desktop mode.

It turns out that hitting the steam button on its own will also bring up Steam itself as an app on your desktop. Neat!

Set a password for the deck user

By default there's no password for the login user - change that so we can escalate to root (and have some extra security).

This is standard unix. Run the passwd command and enter a good password twice.

passwd

Get Root (sudo)

Nothing to actually do here; the deck user is in the wheel group, so it can use sudo (now that it's password-enabled).

Check what editors are installed

We've got nano, we've got vim 9. Not bad! Neovim is available to install as a flatpak, but that's not super necessary.

Where's the ctrl key?

Seems like Valve stripped down the on-screen keyboard and removed a button that's kind of important for exiting nano.

Well, we do have a capslock key (for easier shouting in online games, I guess?).

Customizing the keyboard settings in KDE doesn't work on that keyboard; I was so hopeful. I'll have to come back to this one.

Lock down the sshd security settings

cd /etc/ssh
sudo vim sshd_config

Enable sshd on the deck

Looks like the deck uses Systemd, which is nice and standard. Start and enable the ssh daemon.

sudo systemctl start sshd
sudo systemctl enable sshd

Install some things (optional)

There's a handy "install firefox" shortcut in the desktop menu. I love firefox, so yes, I think I will install it.

I should get a screenshot of this blog post from the Steam Deck.