SSHing into Steam Deck
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.