Comment configurer votre Raspberry Pi pour Remote Shell, Desktop et le transfert de fichiers
Donc, vous avez un Raspberry Pi et vous souhaitez maximiser son faible encombrement en se transformant en un boîtier totalement indépendant, sans moniteur, clavier ni autre périphérique d’entrée. Nous vous expliquons comment configurer l'accès au shell, au bureau et au transfert de fichiers à distance sur votre Pi..
Pourquoi je veux faire ça?
Le Pi, même vêtu d'un boîtier solide, est un ordinateur minuscule. Il est parfait pour ranger un endroit à l'abri des regards sans une multitude de câbles. Pour de nombreux projets, vous n'avez simplement pas besoin d'un moniteur permanent et d'un accompagnement périphérique..
Cette ne pas Cela signifie toutefois que vous n’avez pas besoin de vous connecter à la boîte pour apporter des modifications, mettre à jour des choses, transférer des fichiers, etc. Un bon exemple de ceci est le petit indicateur de pluie fraîche que nous avons construit dans le cadre de notre article Construire un indicateur à LED avec un Raspberry Pi (pour Email, Météo ou N'importe quoi). Il n’a pas besoin de tout ce qui y est attaché, mais nous aimerions quand même pouvoir sauter sur l’appareil et apporter facilement des modifications ou essayer de nouvelles expériences avec le module LED sans avoir à le glisser dans l’atelier, et connectez-le à un moniteur, un clavier, une souris, etc. En le configurant pour un shell, un bureau et un transfert de fichiers à distance, nous simplifions les choses pour toujours interagir avec notre unité Pi dans le confort de notre 'ai raccordé l'appareil à un poste de travail complet.
De quoi ai-je besoin?
Si vous débutez avec le Raspberry Pi, nous vous recommandons fortement de consulter Le Guide de démarrage rapide de Raspberry Pi avec HTG pour vous familiariser avec les bases du périphérique et vous mettre à niveau..
Pour ce tutoriel, vous aurez besoin des éléments suivants:
- Un Raspberry Pi sous Raspbian.
- Un ordinateur de bureau ou portable.
- Un réseau local Wi-Fi ou câblé pour connecter le Pi à votre ordinateur.
Tout d'abord, la plupart des étapes de ce didacticiel devraient fonctionner avec d'autres distributions Pi basées sur Linux. mais nous allons utiliser Raspbian. Vous devriez avoir peu de difficulté à adapter le didacticiel à d'autres distributions..
Deuxièmement, nous utilisons une machine Windows en tant qu'ordinateur en réseau pour interagir avec l'unité Raspberry Pi en tant que tête / interface distante. Lorsque cela est approprié, nous ferons de notre mieux pour vous relier aux didacticiels et aux suggestions de lecture concernant l'exécution de tâches et d'outils parallèles sous OS X et Linux..
Configuration et connexion au serveur SSH
L’accès à distance via votre ligne de commande à votre installation Raspbian est l’affinement le plus pratique que vous puissiez apporter à votre système. Son activation est simple et facile..
Ouvrez le terminal dans Rasbian, le raccourci est LXTerminal sur le bureau et tapez la commande suivante:
sudo raspi-config
Descendez jusqu'à ssh et appuyez sur Entrée. Lorsque le système vous le demande, sélectionnez Activer et appuyez sur Entrée à nouveau. Vous serez redirigé vers le panneau Raspi-config; naviguer jusqu'à terminer et appuyez sur Entrée pour fermer l'outil de configuration. C'est tout ce que vous devez faire pour activer l'accès SSH à votre Pi. Le nom d'utilisateur et le mot de passe SSH par défaut sont pi et framboise, respectivement.
Pendant que vous êtes toujours en ligne de commande, le moment est venu de vérifier l’adresse IP de votre unité Raspberry Pi sur le réseau local. Type ifconfig à l'invite, puis regardez le résultat de la commande. Si vous utilisez le port Ethernet, vous souhaitez rechercher le init addr dans le eth0 section; si vous utilisez le Wi-Fi, vous souhaitez rechercher le init addr dans le wlan0 section. En plus de vérifier et de noter l'adresse IP, c'est également le bon moment pour configurer une entrée IP statique dans votre routeur afin que vous n'ayez plus à chercher l'adresse IP à l'avenir..
Maintenant que le serveur SSH est activé, nous connaissons le login et l’adresse IP de la machine. Il est temps de se connecter via SSH et de le tester. Pour le faire sous Linux et OS X, vous pouvez simplement utiliser le ssh commande au terminal. Les utilisateurs Windows auront cependant besoin d’un client SSH comme PuTTY..
Puisque nous utilisons un système Windows pour gérer notre Pi à distance, c'est bien PuTTY. Installez une copie de PuTTY ou extrayez la version portable et lancez-la. Il y a beaucoup vous pouvez jouer avec PuTTY, mais nous n’avons à nous soucier que d’un seul élément pour nous connecter à notre Pi. Sur l’interface principale de la Session, entrez simplement l’adresse IP de votre Pi et sélectionnez SSH dessous:
Frappé Ouvrir en bas et PuTTY lancera une fenêtre de terminal à votre place, connectera votre Pi et vous invitera à vous connecter. Allez-y et connectez-vous avec pi / framboise:
Une fois que votre connexion SSH est fonctionnelle, vous pouvez techniquement terminer le reste de ce didacticiel à distance, dans le confort de votre bureau. Nous vous conseillons toutefois de laisser la tête et le clavier de votre système jusqu'à ce que vous ayez terminé tout le projet et que tout fonctionne sans heurts..
Avant de poursuivre, il existe quelques fonctionnalités supplémentaires que nous pouvons extraire de SSH. En plus de gérer la ligne de commande à distance, vous pouvez également transférer des fichiers à distance à l'aide de Secure Copy. Il nécessite beaucoup de ligne de commande et n'est pas particulièrement pratique pour transférer un grand nombre de fichiers provenant de plusieurs répertoires, mais pour un transfert de fichier de configuration unique ou un autre petit dump, il est très pratique. Consultez notre guide sur la copie de fichiers sur SSH à l'aide de la commande SCP ici..
Nous examinerons de plus près des techniques de transfert de fichiers plus conviviales / basées sur une interface graphique plus tard dans le didacticiel..
Configuration et configuration de votre bureau à distance
L'accès à distance par ligne de commande est génial, tout comme l'accès au bureau pour les activités axées sur une interface graphique. Rassemblons les puissances de la ligne de commande et les puissances du bureau.
Bien que nous l'appelions «poste de travail distant» jusqu'à présent, l'outil que nous installons est connu sous le nom de critères de calcul en réseau virtuel (VNC), dont beaucoup sont familiers, tels que RealVNC et TightVNC. Pour ce tutoriel, nous allons installer TightVNC sur le Pi. Pour accéder à la session TightVNC basée sur Pi, vous aurez besoin d’un client distant tel que:
- Client de bureau TightVNC pour Windows
- Client de bureau TightVNC pour systèmes de type Linux / Unix
- Client de bureau RealVNC pour OSX
Prenez-en un exemplaire maintenant et nous le repérerons plus tard dans cette section. Pour l'instant, commençons par installer le serveur TightVNC sur votre Raspberry Pi. Ouvrez le terminal. Entrez la commande suivante pour commencer:
sudo apt-get install tightvncserver
Cela va télécharger et décompresser les fichiers d'installation; Lorsque vous êtes invité à continuer, appuyez sur Y. Une fois l'installation terminée, vous serez renvoyé à l'invite. Vous pouvez démarrer le VNC de deux manières. Exécutez simplement la commande pour le serveur comme suit:
serveur serré
Vous serez invité à entrer un mot de passe pour accéder à votre bureau VNC, comme indiqué dans la capture d'écran ci-dessus. Le mot de passe doit comporter entre 4 et 8 caractères. Une fois que vous avez confirmé le mot de passe, vous serez invité à définir un mot de passe en lecture seule (vous pouvez vous désinscrire de l'étape, comme nous l'avons fait)..
Vous pouvez également utiliser une commande beaucoup plus précise, bien que plus longue à taper, qui vous donne davantage de contrôle sur la manière dont l'ordinateur distant verra le bureau. Surtout, quelle résolution affichera le bureau pour pouvoir profiter d'un affichage plein écran l'ordinateur distant. Pour spécifier la résolution du bureau VNC, utilisez la commande suivante en remplaçant la valeur de résolution (le quatrième élément de la commande) par la résolution du bureau distant:
vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:
Si, à un moment quelconque, vous commettez une erreur lors de la configuration de votre instance de serveur VNC et / ou si vous souhaitez arrêter le serveur VNC, entrez simplement ce qui suit (changez le numéro après les deux-points en numéro de l'instance VNC à supprimer) :
vncserver -kill: 1
Maintenant que le serveur VNC est opérationnel, connectons-le depuis notre poste de travail distant. Lancez la visionneuse TightVNC sur votre ordinateur et connectez l’adresse IP de l’unité Raspberry Pi suivie de: 1 comme suit:
Et voici notre récompense pour la configuration réussie de notre serveur VNC: une belle vue plein écran de notre unité distante Raspberry Pi:
Il existe un problème connu avec TightVNC et Rasbian qui, grâce à un changement d’autorisation illusoire, causera des problèmes avec le poste de travail connecté avec moniteur (tout en laissant intacte l’interface de poste de travail distant fournie par le serveur VNC). Pour résoudre ce problème avant qu'il ne devienne un problème pour vous, allez directement à la ligne de commande et entrez la commande suivante:
sudo chown pi /home/pi/.Xauthority
Cette commande modifie la propriété du fichier .Xauthority en utilisateur pi-pour les curieux, le fichier .Xauthority est utilisé par le système X-Windows de Rasbian et quelque chose lors du processus d’installation et de configuration du serveur TightVNC ne cause que peu d’autorisations.
Avec ce petit détour mineur, revenons à la fin de la configuration de notre poste de travail distant..
Maintenant que nous avons un accès complet à Raspberry Pi via une ligne de commande et un ordinateur de bureau, il n’ya plus qu’une mise au point à faire. L'outil Raspi-config a configuré le serveur SSH pour qu'il se lance automatiquement au démarrage, mais le serveur VNC n'est pas encore configuré de cette manière. Vous pouvez ignorer cette étape et démarrer manuellement le serveur en ligne de commande via SSH lorsque vous en avez besoin, mais nous essayons de rendre cette tâche aussi simple que possible pour une utilisation ultérieure. Prenons maintenant une minute pour créer un fichier de démarrage pour le serveur VNC..
Afin de démarrer automatiquement le serveur VNC, nous devons configurer un fichier init, ou initialisation, que Raspbian utilisera pour démarrer et arrêter proprement le serveur pendant les processus de démarrage et d'arrêt. Créons maintenant le fichier init. Sur la ligne de commande, tapez la commande suivante:
sudo nano /etc/init.d/tightvnc
Cela créera un fichier dans le répertoire d’initialisation appelé «tightvnc» et ouvrira l’éditeur nano afin que nous puissions coller notre script. Dans l'éditeur nano, collez le code suivant (veillez à modifier la valeur de résolution 1600 × 900 pour qu'elle corresponde à celle de votre ordinateur distant:
#! / bin / sh
### BEGIN INIT INFO
# Fournit: tightvncserver
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description courte: démarrer le serveur vnc
# La description:
### END INIT INFOcase “1 $” dans
début)
su pi -c 'vncserver: 1 -geometry 1600 × 900-profondeur 16 -pixelformat rgb565:'
echo “VNC Started”
;;
Arrêtez)
pkill Xtightvnc
echo "VNC Terminated"
;;
*)
echo “Utilisation: /etc/init.d/tightvnc start | stop”
sortie 1
;;
esac
En plus de la modification de la partie résolution du script, vous pouvez modifier un autre élément. A la ligne 14, vous pouvez remplacer la commande "su pi -c" par n'importe quel autre compte d'utilisateur que "pi" si vous souhaitez utiliser VNC sur le bureau spécifique de ce compte..
Une fois que vous avez collé et modifié le code, il est temps de le sauvegarder. Appuyez sur CTRL + X pour quitter et enregistrer votre travail dans nano. Une fois que vous êtes revenu à la ligne de commande, nous devons apporter quelques modifications rapides aux autorisations du fichier:
sudo chmod 755 /etc/init.d/tightvnc
Maintenant, le fichier d'initialisation est exécutable. Nous pouvons le tester à l'invite:
sudo /etc/init.d/tightvnc start
sudo /etc/init.d/tightvnc stop
La dernière modification que nous allons effectuer consiste à mettre à jour le fichier rc.d (qui répertorie les scripts d’initialisation dans le dossier /init.d/):
sudo update-rc.d tightvnc par défaut
Après avoir entré cette commande, vous recevrez une confirmation que le fichier a été mis à jour. Le moment du vrai test est venu: le fichier se charge-t-il correctement après le redémarrage? Entrez ce qui suit sur la ligne de commande pour redémarrer et préparez-vous avec votre client VNC pour tester la connexion dans un moment:
redémarrage sudo
Une fois le système redémarré, connectez-vous avec votre client VNC. Si votre session VNC échoue, consultez l'invite de commande et réexécutez la commande tightvnc start (à partir de la partie test ci-dessus) pour vérifier que le fichier est exécutable et que le mot de passe a été correctement enregistré..
À ce stade, nous sommes encore plus avancés dans notre mission consistant à contrôler totalement notre unité Raspberry Pi. Avec l'accès à la ligne de commande via SSH et l'accès au bureau à distance via VNC, simplifions le processus de transfert de fichiers entre notre Pi et un ordinateur de bureau..
Configuration et configuration des outils de transfert de fichiers
Puisque nous avons déjà configuré SSH, le moyen le plus simple de configurer un transfert de fichier simple et mort entre notre ordinateur Pi et des ordinateurs distants est de superposer une interface graphique sur la connexion SSH. Rappelez-vous comment nous avons parlé de l'utilisation de SCP sur SSH plus tôt dans le tutoriel. L'exécuter à partir de la ligne de commande devient vraiment fastidieux, très rapide. Avec une interface graphique, nous serons en mesure de passer plus de temps à déplacer des fichiers et à jouer avec notre Pi, et moins de temps à picorer au clavier.
Bien qu'il existe plusieurs interfaces graphiques pour la commande SCP, nous allons utiliser un outil multi-plateforme que beaucoup de gens connaissent déjà, ont et aiment (et peuvent même ne pas savoir qu'ils transfèrent SCP): FileZilla. Il est disponible pour Windows, OS X et Linux. Vous pouvez en obtenir une copie ici..
Une fois que vous avez installé FileZilla, lancez-le et allez dans Fichier -> Gestionnaire de site. Créez une nouvelle entrée de site, nommez-la et insérez un nom d'utilisateur et un mot de passe pour votre Pi..
Enfin, assurez-vous de définir le port sur 22 et le type de serveur sur SFTP - SSH File Transfer Protocol. Cliquez sur Connecter en bas et vous obtiendrez une vue similaire à celle-ci:
Vos répertoires locaux sont dans le volet de gauche et les répertoires distants sur le Pi sont dans le volet de droite. Déplacer des fichiers entre les deux est aussi simple que de les glisser-déposer.
Tirer parti du transfert de fichiers SSH existant est le moyen le plus simple d'accéder aux fichiers sur le Pi sans configuration supplémentaire nécessaire. mais Si vous souhaitez configurer votre Pi pour recevoir et partager des fichiers sans que l'utilisateur distant ait besoin d'outils sophistiqués (comme un client FTP compatible SCP tel que FileZilla), nous vous recommandons vivement de consulter la partie relative à la configuration Samba de notre guide: Comment transformer un Raspberry Pi dans un périphérique de stockage réseau basse consommation. Une lecture qui vous familiarisera avec la configuration d'un partage Samba de base sur Pi afin de créer un dossier partagé facilement accessible par n'importe qui sur votre réseau sans outils supplémentaires..
Vous avez configuré SSH, VNC et un accès simple SFTP et / ou Samba à votre Pi. À ce stade, vous pouvez amorcer votre Raspberry Pi, déshabiller le moniteur, le clavier et la souris. et rangez-le comme une machine silencieuse et sans tête.
Vous avez une idée pour le projet Raspberry Pi et vous avez très envie que nous écrivions un tutoriel? Décrochez-vous dans les commentaires ou envoyez-nous un email à [email protected] et nous ferons de notre mieux pour vous aider.