ARCH R

Acesso SSH

Shell remoto, transferência de arquivos, debug

O SSH vem desativado por padrão por segurança. Ative-o pelo menu do EmulationStation e depois conecte-se a partir do seu computador.


Ativar SSH

Alternar no ES

EmulationStation → ** ** (Start) → System SettingsNetworkEnable SSH → ON.

O ArchR cria /storage/.cache/services/sshd.conf (o arquivo trigger que a unit do systemd observa) e depois executa systemctl start sshd.

Opcional: ativar a cada boot

Mesmo menu, deixe a opção ligada. O arquivo trigger persiste, então sshd.service inicia no boot via ConditionPathExists=.

Encontre o IP do dispositivo

Em ES → System Information o IP é exibido. Ou via ssh a partir de qualquer dispositivo na mesma LAN:

ping archr.local

O mDNS publica archr.local automaticamente (Avahi).


Conectar

ssh root@archr.local
# ou pelo IP:
ssh root@192.168.x.x

Credenciais padrão:

usuário     root
senha       archr

Troque a senha após o primeiro login bem-sucedido. A senha padrão é pública, qualquer pessoa na LAN consegue adivinhá-la.

passwd

Autenticação por chave (recomendado)

# no seu computador
ssh-copy-id root@archr.local

Depois desative a autenticação por senha no dispositivo (já logado via SSH):

sudo sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

Transferência de arquivos

O scp (cópia única) é o jeito mais simples de mover arquivos. ROMs, save-states, screenshots:

# enviar uma ROM
scp game.sfc root@archr.local:/storage/roms/snes/

# baixar todos os screenshots
scp root@archr.local:'/storage/screenshots/*' ~/Pictures/r36s-screenshots/

# enviar um diretório
scp -r ~/roms/psx root@archr.local:/storage/roms/

Para sincronização contínua, use rsync, ele ignora arquivos que não mudaram:

rsync -avh --delete ~/roms/snes/ root@archr.local:/storage/roms/snes/

Para acesso gráfico, seu gerenciador de arquivos provavelmente suporta sftp://root@archr.local/storage/roms/.


Dicas de SSH

EmulationStation atrapalhando. O ES bloqueia o framebuffer, você não consegue rodar um programa X/wayland via SSH. Mas dá para parar o ES e rodar uma ferramenta pontual:

sudo systemctl stop emustation
# agora você pode rodar coisas
sudo systemctl start emustation

Tarefas longas (scrape, rsync de TBs, etc.). Use screen ou nohup para que sobrevivam a desconexões de SSH:

screen -S scrape
skyscraper -p snes
# Ctrl-A D para desconectar. Reconecte depois com: screen -r scrape

Inspecionando o boot. Os logs ficam em /var/log/boot.log (não no journalctl, o journald é volátil). O trace do autostart fica em /storage/.boot_last_step somente quando o boot anterior travou.

Scripts de bench. /flash/bench.sh <cenário> [duração] coleta PSI / freq / temp / vmstat pela duração informada em /storage/bench-results/. Útil para reportar regressões de performance.


Desativar SSH

Mesmo menu, alterne para OFF. O arquivo trigger é removido e o sshd.service para. O próximo boot não o inicia.


Notas de segurança

  • Risco em LAN pública: com as credenciais padrão e SSH ligado, qualquer um no mesmo WiFi pode logar. Troque a senha.
  • Tailscale/ZeroTier: se você ativar uma VPN, seu dispositivo fica alcançável por qualquer um na mesma VPN, a mesma orientação vale.
  • Port forwarding: não redirecione a porta 22 para o seu handheld no roteador de casa. A instalação padrão não é endurecida para a internet pública.
  • Desativar root: sudo passwd -l root se você preferir que ninguém logue como root via SSH. O usuário archr tem sudo para quando precisar de comandos elevados.

On this page