It is highly recommended to setup the SSH service if you plan on doing any serious modding on the deck
(this will walk through setting a user password and enabling the SSH Daemon Service)
- push the STEAM button on the deck
- go to Power
- Select Switch to Desktop
- From Desktop Mode, Click the Application Launcher (Steam Deck Icon, bottom left)
- Go to All Applications > Konsole
- run the following command
passwd
- Enter a secure password (You will be prompted for this anytime you connect to the Deck remotely via SSH)
- run the following command
sudo systemctl enable sshd
- now run the following command to verify that SSHD is enabled
sudo systemctl status sshd
- In the output look for
enabled;
on the Loaded: line - Look for running on the
Active:
line
- If all steps were followed SSH should be enabled, if not ASK AN ADULT
This is the most secure way to authenticate This assumes you're connecting from your
Windows 10+
gaming rig with at leastPowerShell 5.1
installed
Prerequisites: Windows (Client)
Create and Install the Keypair (Client: Windows)
from a powershell prompt
- Run the following command
ssh-keygen -t rsa -f $HOME/.ssh/id_rsa
Example: Generating a Test Key (by default your key will be named
id_rsa
)
- When prompted to enter a file location leave it blank for purposes of the guide
generated ssh keys will save to
$HOME\.ssh
by default typically:c:\users\<userprofile>\.ssh
- When prompted enter a secure passphrase
Don't recommend leaving this blank, once done you will not need to type a password when you connect via SSH
If you plan on using SSHFS to map drives to your Deck, leave the passphrase blank, SSHFS doesn't support PubKey passphrases
- Run the following commands to make sure the
ssh-agent
service is running
Set-Service ssh-agent -StartupType Automatic
Start-Service ssh-agent -PassThru | Get-Service
- The final output should look like this (otherwise ask an adult)
- Run the following command, you'll need the exact path of the key you generated in step 2
ssh-add $HOME/.ssh/id_rsa
- When prompted enter your passphrase for the last time, The key is now installed
Example: Test Key added to
ssh-agent
- Run the following command to copy your public key to the steam deck
DO NOT COPY
$HOME\.ssh\id_rsa
this is your Private Key and remains on your windows machine.
scp $HOME\.ssh\id_rsa.pub deck@steamdeck:~/.ssh
Configure Public Key Auth (Server: steamdeck)
via
ssh
orKonsole
Cliffs notes for Penguins
- confirm the pub key is present
cat ~/.ssh/id_rsa.pub
- generate the authorized keys file
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- edit
/etc/ssh/sshd_config
and set the values by either uncommenting or appendingPubkeyAuthentication yes
PasswordAuthentication no
- restart sshd
sudo systemctl restart sshd.service
- test ssh login from windows
ssh deck@steamdeck
- confirm your public key was copied to the steamdeck
cat ~/.ssh/id_rsa.pub
WARNING: Don't share actual SSH keys you use for authentication on the internet
- assuming the key is present run the following to create the
authorized_keys
file
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- run the following commands to modify the
sshd_config
to Enable Public Key Auth, and Disable Password Auth
testvar=`grep ^PubkeyAuthentication /etc/ssh/sshd_config`
[ -z "$testvar" ] && echo 'PubkeyAuthentication yes' | sudo tee -a /etc/ssh/sshd_config || echo "already exists: $testvar"
testvar=`grep ^PasswordAuthentication /etc/ssh/sshd_config`
[ -z "$testvar" ] && echo 'PasswordAuthentication no' | sudo tee -a /etc/ssh/sshd_config || echo "already exists: $testvar"
sudo systemctl restart sshd.service
Additionally: This file can also be edited using
nano
orvim
(if you're a masochist)
Test Login (Client: Windows)
- From your Windows PC login to the deck via SSH
ssh deck@steamdeck
- If all instructions were followed, you should NOT be prompted for a password
IF IT STILL DOESN'T WORK ASK AN ADULT
SSHFS-Win: enables Windows to connect via SFTP to an SSH Server WinFsp: Windows File System Proxy; allows support for custom filesystem on windows github: SSHFS-Win
Install SSHFS-Win and WinFsp
- From a PowerShell prompt
winget install WinFsp.WinFsp; winget install SSHFS-Win.SSHFS-Win
This will install the required packages
NOTE: if you don't have
winget
installed, you can open theMicrosoft Store
and search for winget and install it, it may also be called App Installer Microsoft Store: App Installer
Map Network Drives
NOTE: SSHFS may require specific syntax depending on you connect to SSH
sshfs
by default will connect to your user home directory usually/home/deck
sshfs.k
will use your private key to connectsshfs.r
will allow you connect from the root dirsshfs.k
andsshfs.kr
will be needed if you're usingPubkey
auth
- Map Drive to your Internal SSD
Steam
directory
net use Z: \\sshfs\deck@steamdeck\.local\share\Steam /persistent:yes /savecred
- Map Drive to your MicroSD
NOTE: if you didn't let the deck auto-format your SD card, replace
mmcblk0p1
with the name of the volume
net use Z: \\sshfs.r\deck@steamdeck\run\media\mmcblk0p1 /persistent:yes /savecred
These Drives should now be persistent and reconnect at login