Activer la connexion à un réseau wifi via terminal

Bonjour,
j’ai reçu récemment un mini pc (Intel Nuc C5PPYH) sur lequel est installé Debian (Stretch). Mais je n’ai pas d’écran, ni de clavier.
En branchant le pc en rj45 sur la box, je peux obtenir une ip et je peux déjà me connecter en ssh;
Ce que j’aimerai c’est dire au pc de se connecter à mon réseau wifi, au démarrage, car je souhaite l’installer dans une autre pièce que celle ou se trouve la box (donc me passer du câble rj45).

J’ai déjà modifié le /etc/network/interfaces pour lui donner le nom du essid (comme indiqué ici https://debian-facile.org/doc:reseau:interfaces:wifi )
(Je n’ai pas de mot de passe car j’ai configuré la box pour autoriser les connexions sur la base des adresse MAC. J’ai déjà entré l’adresse MAC du PC dans la box pour l’autoriser.)

Mais quand je regarde dans les réglages de la box, visiblement le pc ne cherche même pas à se connecter.
Je sais que cela fonctionnait tout seul, et le pc se branchait de lui même sur le réseau wifi (chez mon beau-père) car la première connexion avait été faite en mode graphique (avec écran et clavier).

Comment indiquer, via le terminal, au pc qu’il doit se connecter au wifi au démarrage ?

Ce PC est destiné à quoi? Serveur (utilisation en aveugle sans ecran ni clavier) ou utilisation desktop?

Si c’est destiné à être utilisé en tant que serveur et étant donné que tu es en Stretch, je te conseillerai d’abandonner la config du fichier /etc/network/interfaces et de te tourner plutôt vers :

# systemd-networkd
# systemd-resolved

pour la configuration de ton réseau. Tu auras egalement besoin de “wpa-supplicant” pour le réseau wifi. Il y a pas mal de tutos sur le net pour les trois paquets.

Par contre si c’est une utilisation desktop, passes plutôt par Network-Manager, pour avoir une interface graphique (c’est faisable aussi avec la méthode ci-dessus, mais bon quand t’en fais une utilisation graphique c’est toujours plus sympa d’avoir la petite icone sur le bureau pour le réseau et faire les manips en quelques clics plutôt qu’en cli).

Merci, effectivement j’aurai dû préciser : c’est pour une utilisation serveur sans clavier ni écran. Le but principal sera d’avoir un stockage de sauvegarde, avec un partage Samba pour plusieurs users (moi, ma femme …)
Je compte aussi l’utiliser pour streamer des vidéos sur mon portable, ou sur celui de ma femme (avec minidlna) dans différentes pièces. Et également le brancher sur la chaine stéréo pour jouer directement la musique (avec Music Player Daemon et une appli de télécommande mpd sur le smartphone).

Puisque tu dis que ce PC a été installé avec écran et clavier, il a peut-être une interface graphique ?
Dans ce cas, ça vaudrait le coup de la tester, ne serait-ce que pour paramétrer facilement ta liaison wifi.
Bien entendu, si tu est certain qu’il n’a pas d’interface graphique, ma solution ne résoudra rien.

@ricardo,

Salut ricardo :slight_smile:
Je pense que ce que notre ami veut dire, c’est qu’il a testé cette box chez son beau-père, au moment où il pouvait y brancher clavier et ecran.
Et là il se retrouve sans clavier et écran à pouvoir brancher dessus, donc sa seule issue c’est de se connecter en ssh.

@matiu

Alors je te conseille de te tourner vers “systemd-networkd”, “systemd-resolved”, et bien sûr comme je te l’ai dit avec le paquet “wpa-supplicant” pour les connexions wifi, c’est indispensable.
Mais si cette box ca te servir de serveur, pourquoi as-tu besoin d’une connexion wifi? Ne sera t-elle pas branchée à un emplacement fixe en rj45? Où bien as-tu l’intention de la trimballer de temps en temps en fonction de tes besoins?

merci de vos réponses.
C’est exactement ça.
Le pc a bien été configuré tout à fait classiquement avec écran et clavier. Mais je n’ai pas d’écran et clavier à la maison, seulement mon portable. D’ou l’accès SSH.

J’ai effectivement besoin du wifi car la destination finale du pc est d’être dans une autre pièce que l’arrivée de la box internet (une longue histoire, hors sujet), donc pas de rj45 possible.

Donc oui, l’objectif est bien celui-là : que le pc démarre et se connecte seul au wifi, sans écran ni clavier. Je sais que ça fonctionnait comme ça avant, mais il avait été connecté au wifi au moins une fois en mode graphique.

Je ne pourrai travailler dessus que ce WE mais j’ai déjà des questions à propos de “systemd-networkd”, “systemd-resolved” :
de ce que j’ai vu, ça concerne le réseau filaire, et ça entre en conflit avec la config dans network/interfaces. mais mon seul lien actuellement c’est le réseau filaire. Si je désactive network/interfaces est-ce que je ne risque pas de me retrouver à poil, sans plus aucune connexion et donc plus de contrôle ?
“wpa-supplicant” a-t-il vraiment besoin des 2 autres pour fonctionner ?

Et surtout l’origine de ma question : n’y a t-il pas un moyen plus simple de faire “apprendre” à mon système qu’il doit toujours se connecter à ce wifi, sans avoir à changer une configuration qui fonctionne déjà en temps normal ?

Question subsidiaire : si je tente plutôt une installation de vnc4server ça devrait être suffisant pour me donner accès à l’interface graphique, lancer la connexion wifi au moins une fois ? cela serait-il faisable et suffisant ?

Ça peut entrer en conflit effectivement avec Network-Manager, mais ça ne concerne pas que le réseau filaire, mais le réseau en général.
Systemd a été adopté par plusieurs distributions Linux dont Debian, alors plus tôt tu t’y habitueras mieux tu seras préparé lorsque tu auras un problème… :slight_smile: C’est pour cela que je te pousse à te tourner vers celui-ci, et notamment :

  • systemd-network qui concerne tout ce qui est config réseau
  • systemd-resolved qui concerne la config DNS

D’autant plus que tout cela se fera ainsi en natif et en conjonction avec systemd.

wpa-supplicant lui n’est là que pour gérer la connexion aux réseaux wifi par l’identification grâce au couple SSID (nom du réseau) - mot de passe.
A fortiori il est déjà installé et travaille déjà avec Network-Manager puisque la connexion fonctionnait chez ton beau-père.

Moyen plus simple je ne sais pas, je ne sais pas comment fonctionne Network-Manager en ligne de commande, evidemment quand tu as une interface graphique c’est très simple, il découvre les réseaux disponibles pour toi et en quelques clics c’est fini…
Mais ce n’est pas plus compliqué de configurer une connexion internet en ligne de commande avec systemd-networkd, ça prend quelques minutes. Et ça te permettra de te dépatouiller encore une fois si jamais demain tu as un pépin, car tu auras toujours accès à une console CLI, mais pas forcément à une interface graphique…

Ça doit être faisable, par contre je n’y connais rien à vnc.

Bon finalement mon problème est réglé :
le pc a reconnu de lui-même le wifi au boot. L’erreur provenait des modifications dans /etc/network/interfaces qui n’étaient pas correctement écrites.

@GOGI
merci pour toutes ces explications. il faudra effectivement que je me penche sur systemd, mais là comme ça fonctionne je n’ai pas trop le courage de m’y lancer, j’ai d’autres trucs à faire fonctionner avant (les daemons mpd, minidlna …)
Mais je garde la suggestion en tête car ce sera sans doute quelque chose d’utile à apprendre.