Activar SSH server en Opensuse
Activar servidor SSH en Opensuse
Introducción
Recentemente quixen conectar por SSH contra o meu sobremesa, pero non tiña activo o servidor de SSH. De cando en cando preciso conectar, dende outro equipo a el. Así que tiven que activar a conexión por SSH ao equipo.
Estes son os pasos que seguín.
Revisando o necesario
O primeiro foi comprobar que tivese o necesario para poder levantar o servicio. Así que quixen ver que o tivese instalado.
zypper search openssh
Na saída puiden ver que estava instalado, tanto openssh como openssh-server.
S | Name | Summary | Type
---+---------------------------------+-------------------------------------------------------+--------
| lxqt-openssh-askpass | GUI to query passwords on behalf of SSH agents | Paquete
| lxqt-openssh-askpass-lang | Translations for package lxqt-openssh-askpass | Paquete
i | openssh | Secure Shell Client and Server (Remote Login Program) | Paquete
i | openssh-askpass-gnome | A GNOME-Based Passphrase Dialog for OpenSSH | Paquete
| openssh-cavs | OpenSSH FIPS crypto module CAVS tests | Paquete
i | openssh-clients | SSH (Secure Shell) client applications | Paquete
i | openssh-common | SSH (Secure Shell) common files | Paquete
| openssh-helpers | OpenSSH AuthorizedKeysCommand helpers | Paquete
i | openssh-server | SSH (Secure Shell) server | Paquete
| openssh-server-config-rootlogin | Config to permit root logins to sshd | Paquete
Así pois o seguinte foi comprobar o estado do servizo, co seguinte comando.
systemctl status sshd.service
Este devolveume que non estaba activo. Así que fun ver a configuración na ruta /etc/ssh, non tiña nada configurado.
Así que o primeiro que fixen foi crear un ficheiro sshd_config nesa ruta, como único contido un include dos ficheiros de configuración
da ruta /etc/ssh/sshd_config.d/*.conf.
A carpeta tamén estaba baleira, así que tiven que crear o meu sshd_config.conf. O contido deste ficheiro foi o seguinte.
PasswordAuthentication no
KbdInteractiveAuthentication no
UsePAM yes
X11Forwarding no
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
Que é básicamente a configuración que me creou o wizard da Raspberry ao instalar o Raspberry Pi OS.
Como indiquei que non acepto password, o seguinte foi crear o ficheiro /home/codigomorrazo/.ssh/authorized_keys.
Neste ficheiro hai que incluír as claves públicas dos usuarios aos que queiramos permitir conectarse. Xeralmente en /home/user/.ssh,
cando xeramos as claves, teremos unha clave id_rsa e id_rsa.pub. Ou con outro nome se escollemos outros cifrados.
No ficheiro de authorized_keys nunha nova liña pegaremos o contido do ficheiro .pub.
Con esta configuración xa estaba listo para activar o servizo.
systemctl enable sshd.service
Pero tamén activalo, doutro xeito teríamos que reiniciar.
systemctl start sshd.service
O servizo corre, pero non conecta
Neste punto o servizo estaba en execución pero non podía conectar. Recibía un erro conforme non se atopaba a ruta á ip, no porto escollido.
Despois de revisar o problema resultou estar no cortalumes. Para ver a configuración, executei o seguinte comando.
sudo firewall-cmd --list-all
Que me dou unha saída como a seguinte
public (default, active)
target: default
ingress-priority: 0
egress-priority: 0
icmp-block-inversion: no
interfaces: eno1 ipv6leakintrf0 proton0
sources:
services: dhcpv6-client kdeconnect
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Nos servizos non está incluído o SSH, nin o porto está aberto noutro sitio. Así que tiven que engadilo
sudo firewall-cmd --permanent --add-service=ssh
Recargamos a configuración
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
public (default, active)
target: default
ingress-priority: 0
egress-priority: 0
icmp-block-inversion: no
interfaces: eno1 ipv6leakintrf0 proton0
sources:
services: dhcpv6-client kdeconnect ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Con isto sí que xa puiden conectar dende outro equipo.
Conclusión
Acceder por SSH é moi útil cando temos un equipo no que están correndo procesos que precisamos mudar, sen estar presentes. No meu caso estou facendo probas ca IA local dende o portátil, xa que me é máis cómodo por ter varias pantallas conectadas. O sobremesa é o único equipo que teño que ten capacidade de correr modelos dun xeito “fluído”, así que os modelos corren nel. Pero as probas fagoas dende o portátil, contra o seu Ollama.
Hoxe foi isto, pero ter SSH configurado, tamén abre a porta a executar SSHFS para montar algún directorio e acceder aos arquivos.