SteamDeck 开启 SSH 以及安全设置

自购买了steamdeck之后,我一直有一个想法,那就是SteamDeck配合SteamOS使用才是最完美的组合。这不仅拥有定制的Linux内核、拥有V社的原生支持,还有各种极客的开源方案优化。部分游戏在Linux下的性能释放甚至好于Windows。

我相信在不久的将来,Wine以及基于Wine的兼容层完善之后,使用Linux运行各种win软件都不再困难。

扯远了,要想用好SteamOS,就先从SSH开始吧。毕竟这么小的屏幕,还是用电脑来远程管理一些东西比较好。

密码设置

初始状态下SteamOS的deck用户密码,至少我是不知道的。好在我们有一个指令可以在不需要root权限的情况下修改当前用户的密码。

首先需要切换到桌面模式并打开 Konsole 终端

passwd

运行命令后,会出现:

New password:
Retype new password:

如果发现输入内容没反应的话,不要害怕,因为这是隐藏的。

你需要输入两次才能更改密码。

开启SSH

密码设置完成后,我们执行以下命令开启ssh:

# sshd开机自启
sudo systemctl enable sshd
# 启动sshd
sudo systemctl start sshd

开启成功后,我们可以执行以下命令查看 ssh状态:

sudo systemctl status sshd

Active 显示 running 即代表启动成功

● sshd.service - OpenSSH Daemon
     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: disabled)
     Active: active (running) since Mon 2022-10-03 10:37:59 CST; 3h 20min ago
   Main PID: 73134 (sshd)
      Tasks: 1 (limit: 17714)
     Memory: 10.2M
        CPU: 1.521s
     CGroup: /system.slice/sshd.service
             └─73134 "sshd: /usr/bin/sshd -D [listener] 0 of 10-100 startups"

电脑连接steamdeck

使用电脑的SSH Client,我们可以连接上Steamdeck的SSH

# 回车之后输入之前设置的密码即可 IP表示SteamDeck在局域网中的ip地址
ssh deck@IP

安全设置1·密钥登陆

首先生成密钥,输入以下命令后一路回车即可

ssh-keygen -t rsa -b 4096

将生成的公钥写入~/.ssh/authorized_keys 并设置较低的权限

# 写入文件
cat id_rsa.pub >> authorized_keys

# 权限设置
chmod 600 ~/.ssh/*
chmod 700 ~/.ssh

修改/etc/ssh/sshd_config 启用密钥登陆

(nano编辑器使用CTRL+x退出编辑,输入y确认修改后,回车覆盖原文件)

# 运行命令
sudo nano /etc/ssh/sshd_config

# 修改内容
PubkeyAuthentication yes

在电脑的ssh目录下保存生成的公钥~/.ssh/id_rsa,即可使用密钥登陆了。

重启sshd服务

sudo systemctl restart sshd

尝试密钥登陆成功后,建议进行安全设置2

安全设置2·SSH安全配置

修改/etc/ssh/sshd_config ,配置安全选项以及禁用密码和root账户登陆

# 运行命令
sudo nano /etc/ssh/sshd_config

# 修改内容
PubkeyAuthentication yes
PermitRootLogin no	# 禁用root账户登陆
PasswordAuthentication no	#禁用密码登陆
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

# 常用安全设置
Protocol 2
HostKey /etc/ssh/ssh_host_ed25519_key
HostKey /etc/ssh/ssh_host_rsa_key
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com

# 可选修改内容(容易导致无法访问)
## 端口 记得开对应的防火墙!!!!!
## 修改监听协议,只监听某个或某些网络协议
## 监听ip (ipv4)
## 监听ip (ipv6)
Port 22
AddressFamily any
ListenAddress 0.0.0.0
ListenAddress ::

重启sshd服务

sudo systemctl restart sshd

一个鸟人罢了