Vous avez déjà mentionné ssh, vim et wget qui est essentiel et parfait. Quelques outils supplémentaires qui peuvent vous faciliter la vie:
1. Écran GNU / byobu
"GNU Screen est un multiplexeur de terminal gratuit qui permet à un utilisateur d'accéder à plusieurs sessions de terminal séparées dans une seule fenêtre de terminal ou une session de terminal distant. Il est utile pour gérer plusieurs programmes à partir de la ligne de commande et pour séparer les programmes du shell qui a commencé le programme." (De la page GNU_Screen sur wikipedia)
Un avantage principal est que vous pouvez avoir un ou plusieurs terminaux virtuels qui sont exactement dans le même état que vous les avez laissés à votre retour (c'est-à-dire se reconnecter via ssh). C'est également bon lorsque votre connexion est interrompue pour une raison quelconque.
L'écran fonctionne indépendamment du logiciel que vous utilisez pour vous connecter à la box (il vit sur le serveur), donc il se combine bien avec du mastic ou la plupart des autres logiciels de terminal.
Cet article montre de belles choses que vous pouvez en faire: http://www.pastacode.de/extending-gnu-screen-adding-a-taskbar/en/
Une bonne alternative est byobu, qui est joliment préconfiguré sur certaines distributions: http://byobu.co/
2. Commandant de minuit
Un outil de navigation de type graphique basé sur une console pour visualiser et manipuler des fichiers et des répertoires.
Peut également effectuer des transferts à distance sécurisés. Il existe un client FISH et FTP intégré.
Cela signifie que vous avez 2 fenêtres de texte côte à côte dans une console de ligne de commande et que l'une montre votre boîtier distant et l'autre où que vous le connectiez (qui peut également être votre système local). Ensuite, vous pouvez naviguer les deux systèmes de fichiers côte à côte et marquer ou étudier des fichiers individuels ou des arborescences de fichiers et également les copier ou les déplacer entre les emplacements. FISH est sécurisé, FTP ne l'est pas. Très puissant et simple pour les débutants.
3. rsync
Pour un transfert de fichiers et une synchronisation rapides, sécurisés et fiables entre différents emplacements
4. VCS
Utilisation d'un système de contrôle de version distribué comme bazaar, mercurial ou git pour mettre à jour le code. Github ou Bitbucket offrent un hébergement de code commercial, mais ce n'est pas nécessaire, vous pouvez également l'utiliser efficacement sur vos propres machines.
Joseph Kern: pouvez-vous expliquer comment vous utilisez exactement git pour l'organisation de configuration à distance?
5. Clients terminaux
Sur les systèmes de type Unix, ils sont déjà intégrés, sous Windows, vous pouvez utiliser Putty, Tera Term, Mind Term ou Pandora. Ou faites une installation cygwin et ssh depuis les fenêtres terminales cygwin jusqu'aux boîtiers distants (ce qui a plus d'avantages mais c'est une question de ce que vous préférez).
6. Tunnellisation et redirection de port
Il peut être utile de transférer certains ports en toute sécurité vers votre ordinateur local. Par exemple, vous pouvez transférer le port mysql TCP 3306 ou postgres TCP 5432 et installer localement un outil d'administration de base de données.
Vous pouvez créer des tunnels à partir de machines Windwos avec du mastic (ou une ligne de commande basée sur son petit frère plink), avec cygwin et Mindterm peut également faire une redirection de port. Si vous êtes localement sur une machine de type Unix, vous pouvez utiliser ssh odr plink pour créer un tel tunneling.
Pour créer un tunneling plus stable et permanent pour différents ports, je recommande OpenVPN. La méthode de tunneling «pré-clé partagée» d'un point à un autre n'est pas si difficile à installer.
7. Avoir un système local de type Unix
Lorsque votre machine locale est un Mac que vous possédez déjà, vous pouvez ouvrir un shell local. Lorsque votre poste de travail est basé sur Windows, il peut être utile de créer un serveur local de type Unix, qui se trouve sur le même réseau local. Il peut s'agir d'une machine différente dans une pièce différente connectée au même routeur ou commutateur. Ou si vous ne voulez qu'une seule machine, vous pouvez installer le serveur vmware gratuit et créer une machine virtuelle, de préférence le même système d'exploitation que votre machine distante. Installez un serveur samba dessus et vous pouvez "utiliser net" les partages samba depuis votre bureau.
Si vous êtes un serveur ssh sur le serveur local et ouvrez le port 22 sur votre routeur, vous pouvez ssh dans votre système local lorsque vous êtes à l'extérieur.
Vous pouvez créer des tunnels vers des machines distantes ou transférer et synchroniser des fichiers et des arborescences de fichiers entières avec rsync. Vous pouvez l'utiliser pour des tests, pour VSC, pour le développement local, en tant que serveur Web local, à des fins de formation.
Vous pouvez extraire des sauvegardes à partir de machines distantes. Vous pouvez créer des tâches cron locales qui effectuent automatiquement les sauvegardes (par exemple, les bases de données que vous souhaitez enregistrer localement régulièrement)
8. Interface graphique à distance X
Si vous travaillez physiquement sur un système similaire à Linux, il est également possible d'exécuter des applications GUI sur vos serveurs Linux qui dessinent l'interface graphique sur votre machine locale. Cela pourrait être un outil de comparaison de fichiers graphiques ou presque tout ce que vous voulez.
Bien que ce ne soit pas très courant et dans certains cas, il n'est pas nécessaire d'utiliser le logiciel GUI pour l'administration de Linux Box, vous pouvez dans certains cas le trouver utile si vous le pouvez.
Sur la machine distante, assurez-vous que dans / etc / ssh / sshd_config cette ligne existe:
X11Forwarding Yes
Redémarrez le serveur ssh avec
/etc/init.d/sshd restart
La prochaine fois que vous vous connecterez avec
ssh -X me@remote-box
Vous aurez un tunnel X, essayez d'installer xclock sur le serveur distant à des fins de test et d'exécuter xclock
iin la session ssh que je viens de mentionner. Une horloge x simple à des fins de test devrait apparaître sur votre interface graphique Linux.
Ceci est également possible sur un Mac si vous installez un environnement X local.
9. Si vous avez un tas de boîtes ou de tâches similaires: utilisez un outil de configuration du système
Si vous avez une batterie de serveurs ou effectuez des déploiements dans le cloud avec de nombreuses machines redondantes ou équivalentes ou similaires, vous pouvez l'utiliser.
Cela n'aurait probablement aucun sens si la plupart des boîtiers sont individuels ou ont différents systèmes d'exploitation ou différentes versions en cours d'exécution.
Il existe plusieurs outils:
10. Déployez des conteneurs d'applications avec docker
Cela va encore plus loin. Docker est un projet open source qui automatise le déploiement d'applications à l'intérieur de conteneurs logiciels: https://www.docker.io
11. Utilisez Google Compute Engine avec la gestion de déploiement automatique
https://cloud.google.com/products/compute-engine/
Google propose des machines virtuelles Linux avec des possibilités très intéressantes. Vous pouvez rapidement déployer de grands clusters de machines virtuelles avec des outils, notamment une API RESTful, une interface de ligne de commande et une console Web. Vous pouvez également utiliser des outils tels que RightScale et Scalr pour gérer automatiquement votre déploiement .