SSH!
SSH est le commandement divin - je pense que c'est le commandement global le plus précieux à 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 pensé nécessaires. Je les ai peut-être tous utilisés à ce stade.
Plus vous l'utilisez, plus vous en apprenez. Vous pouvez l'utiliser pour faire des choses étonnantes.
Remarque: TOUTES ces opérations sont réalisables à distance sans configuration sur votre serveur, à l'exception du serveur ssh en cours d'exécution.
Monter un système de fichiers sur Internet
recherche sur le net pour SSHFS
Commandes en avant .
Le protocole SVN + SSH est Subversion d’un client distant à un serveur sur lequel NO DEAMON est exécuté! La commande SVN démarre le serveur via le shell ssh et fait passer les informations dans le canal existant. Le programme rsync fait la même chose, fonctionne sur un serveur sans démon rsync 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.
Transférer des ports:
semble modérément utile jusqu’à ce que vous réalisiez que vous pouvez rebondir à travers votre pare-feu domestique et configurer votre routeur à la maison depuis votre bureau comme si vous le faisiez depuis votre réseau domestique).
Transférer les demandes X:
Ceci est un autre étonnant. Avec ou sans un serveur X s'exécutant 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!
Étant donné que vous n'avez pas besoin de faire fonctionner un serveur X sur votre serveur distant, l'impact du processeur sur votre serveur est minime, vous pouvez avoir un serveur TINY Linux qui sert d'énormes applications à votre puissant PC de jeu fonctionnant sous Windows et cygwin / X.
Bien sûr, VI et EMACS fonctionnent sur SSH, mais lorsque je cours à 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, l'interface graphique est installée sur votre ordinateur portable, mais les compilations sont effectuées sur votre serveur. Ne vous inquiétez donc pas de la charge du système.
Exécuter en batch
(ce qui signifie exécuter un fichier de commandes local qui "fait des choses" 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écurisées). La seconde est que vous pouvez spécifier une commande sur la CLI SSH. Je l'ai utilisé de manière intéressante - comme lorsqu'une compilation échoue sur le serveur distant, je l'aurais en SSH sur mon ordinateur et lirait un fichier son).
N'oubliez pas que vous pouvez rediriger la sortie de la commande distante et l'utiliser dans votre fichier de traitement par lots local. Vous pouvez donc également exécuter une compilation en cours d'exécution sur votre serveur.
Construit pour Mac
Le serveur et le client sont intégrés dans mac et linux. Dans le cas du Mac et de Ubuntu, l'activation d'un serveur est aussi simple que de trouver la bonne case à cocher.
Sur un ordinateur, installez cygwin ou cygwin / X (cygwin / X vous permettra de transférer votre 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 aurez beaucoup de tentatives de piratage, ça n'en vaut pas la peine. Demandez simplement à votre pare-feu de transmettre un port différent à votre serveur.
De nombreuses options de configuration vous permettent de simplifier considérablement vos commandes ssh. Voici un exemple de mon travail
Host home
hostname billshome.hopto.org
Port=12345
user=bill
LocalForward=localhost:1025 mac:22
Quand je tape "ssh home" (rien d’autre), c’est comme si j’avais tapé:
ssh -p 12345 bill@billshome.hopto.org
puis transmet mon port local 1025 à mon système "mac" à la maison. La raison en est que j'ai une autre entrée dans mon dossier:
Host mac
hostname localhost
port=1025
de sorte que, une fois que j'ai fait une "maison ssh" et que la fenêtre est toujours ouverte, je peux taper "ssh mac" et l'ordinateur au travail essaiera en réalité de se connecter à son propre port 1025 qui a été transféré à "mac: 22 "par l’autre commande, il se connectera donc à mon Mac chez moi à travers le pare-feu.
Edit - script cool!
J'ai déterré un vieux script que j'aime vraiment - je devais revenir et le poster à quiconque ici serait intéressé. 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 si vous pouvez vous connecter à un hôte (via ssh), vous pouvez taper "./authMe hostName".
Si nécessaire, il créera une paire de clés publique / privée, puis ssh sur 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 vous 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 devez envisager de définir une "phrase secrète" lorsque vous y êtes invité.
Vous pouvez également vouloir configurer le serveur ssh sur le serveur distant pour ne pas autoriser les mots de passe textuels (uniquement les clés) pour une sécurité supplémentaire.