SSH !
SSH est la commande divine - je pense que c'est la commande générale la plus utile à apprendre. Les options peuvent être assez décourageantes, mais il semble que j'apprenne constamment à utiliser de nouvelles options de ligne de commande pour SSH que je n'aurais jamais cru nécessaires. Je les ai peut-être toutes utilisées à ce stade.
Plus vous l'utilisez, plus vous en apprenez sur lui. Vous pouvez l'utiliser pour faire des choses extraordinaires.
Remarque : TOUTES ces opérations peuvent être effectuées à distance sans aucune installation sur votre serveur, à l'exception de l'exécution du serveur ssh.
Monter un système de fichiers sur Internet
recherchez le SSHFS sur Internet
Commandes en avant .
Le protocole SVN+SSH est Subversion d'un client distant vers un serveur sur lequel ne tourne PAS DEAMON ! La commande SVN démarre le serveur à travers le ssh Shell et passe l'info dans les deux sens à travers le pipe existant. Le programme rsync fait la même chose, fonctionne contre un serveur sans rsync deamon en en démarrant un lui-même via SSH. Il est facile d'écrire vos propres fichiers bash pour faire des trucs similaires.
Chaîne pour passer à travers les pare-feu
Je l'utilise tout le temps pour passer de mon serveur linux à la maison à mon mac.
Ports de transfert :
Cela ne semble que modérément utile jusqu'à ce que vous réalisiez que vous pouvez passer à travers le pare-feu de votre maison et configurer votre routeur à la maison depuis le travail comme si vous le faisiez depuis votre réseau domestique).
Transférer les demandes X :
C'est une autre incroyable. Avec ou sans serveur X sur votre système distant, vous pouvez exécuter un programme x-Windows et la fenêtre apparaîtra sur votre écran local. Il suffit d'utiliser le commutateur -X, c'est tout !
Puisque vous n'avez pas besoin de faire tourner un serveur X sur votre serveur distant, l'impact du CPU sur votre serveur est minime, vous pouvez avoir un PETIT serveur Linux qui sert d'énormes applications à votre puissant PC de jeu fonctionnant sous Windows et cygwin/X.
Bien sûr, VI et EMACS fonctionnent via SSH, mais lorsque je travaille à la maison, je veux parfois plus. J'utilise ssh -X pour démarrer une copie d'Eclipse ! Si votre serveur est plus puissant que votre ordinateur portable, vous avez l'interface graphique sur votre ordinateur portable, mais les compilations sont effectuées sur votre serveur, donc ne vous inquiétez pas de la charge du système.
Exécution dans des fichiers batch
(c'est-à-dire exécuter un fichier batch local qui "fait des trucs" sur d'autres systèmes) :
Deux choses se combinent pour rendre celui-ci cool. La première est que vous pouvez éliminer les invites de mot de passe en utilisant des clés de cryptage (plus sûres). La seconde est que vous pouvez spécifier une commande sur le CLI SSH. J'ai utilisé cette fonction de manière intéressante, par exemple lorsqu'une compilation échoue sur le serveur distant, j'ai demandé au serveur de se connecter à mon ordinateur et de jouer un fichier son.)
N'oubliez pas que vous pouvez rediriger la sortie de la commande distante et l'utiliser dans votre fichier batch local, de sorte que vous pouvez également suivre localement une compilation en cours sur votre serveur.
Intégré au Mac
Le serveur et le client sont tous deux intégrés dans Mac et Linux. Dans le cas du Mac et d'Ubuntu, activer un serveur est aussi simple que de trouver la bonne case à cocher.
Sur un PC, installez cygwin ou cygwin/X (cygwin/X vous permettra de transférer la sortie x-window de votre machine Linux vers votre PC Windows - il installe un serveur X).
Conseils importants/fichier de configuration
N'utilisez jamais le port 22 sur votre pare-feu. Vous recevrez de nombreuses tentatives de piratage et cela n'en vaut pas la peine. Faites simplement en sorte que votre pare-feu transfère un autre port à votre serveur.
Il existe de nombreuses options de configuration qui vous permettent de simplifier considérablement vos commandes ssh. Voici un exemple de la mienne au travail :
Host home
hostname billshome.hopto.org
Port=12345
user=bill
LocalForward=localhost:1025 mac:22
Lorsque je tape "ssh home" (rien d'autre), il agit comme si j'avais tapé :
ssh -p 12345 bill@billshome.hopto.org
et fait ensuite suivre mon port local 1025 à mon système "mac" à la maison. La raison en est que j'ai une autre entrée dans mon fichier :
Host mac
hostname localhost
port=1025
de sorte qu'une fois que j'ai effectué un "ssh home" et que la fenêtre est toujours ouverte, je peux taper "ssh mac" et l'ordinateur du bureau essaiera de se connecter à son propre port 1025 qui a été transféré à "mac:22" par l'autre commande, de sorte qu'il se connectera à mon Mac à la maison à travers le pare-feu.
Edit--cool script !
J'ai déterré un vieux script que j'adore - je devais revenir et le poster pour tous ceux qui pourraient être intéressés. Le script s'appelle "authMe".
#!/bin/bash
if [ ! -f ~/.ssh/id_dsa.pub ]
then
echo 'id_dsa.pub does not exist, creating'
ssh-keygen -tdsa
fi
ssh $1 'cat >>.ssh/authorized_keys' <~/.ssh/id_dsa.pub
Si vous avez ce script dans votre répertoire personnel et qu'il y a un hôte auquel vous pouvez vous connecter (via ssh), alors vous pouvez taper "./authMe hostName".
Si nécessaire, il créera une paire de clés publique/privée pour vous, puis il se connectera à l'autre machine et copiera votre clé publique (la commande ssh vous demandera un mot de passe...).
Après cela, la commande SSH ne devrait plus demander votre mot de passe lors de la connexion à ce système distant, elle utilisera la paire de clés publique/privée.
Si votre ordinateur distant n'est pas toujours sécurisé, vous devriez envisager de définir une "phrase de passe" lorsque vous y êtes invité.
Vous pouvez également configurer le serveur ssh de l'extrémité distante pour qu'il n'autorise pas les mots de passe texte (uniquement les clés) pour une sécurité supplémentaire.