FAQ: Difference between revisions

From Grid5000
Jump to navigation Jump to search
No edit summary
No edit summary
Line 71: Line 71:


'''Note''': Il est possible de combiner cette méthode avec un proxy web comme [http://www.squid-cache.org/ squid] ou [http://httpd.apache.org/ Apache] afin d'accéder aux serveurs web d'Internet.
'''Note''': Il est possible de combiner cette méthode avec un proxy web comme [http://www.squid-cache.org/ squid] ou [http://httpd.apache.org/ Apache] afin d'accéder aux serveurs web d'Internet.
== How to add/correct an entry to this page ==
Just like any other page of the wiki, you can edit the FAQ yourself to improve it. If you click on one of the little "edit" placed after each question, you'll get the possibility to edit that perticular question. To edit the whole page, simply choose the edit tab at the top of the page.

Revision as of 12:38, 20 July 2006

How not to get tons of SSH errors about Man-in-the-middle attacks while deploying images ?

This is because SSH get worried by the fact that the machine answering to its connexion is not the same from run to run. Actually, this is really logical: you just redeployed the image so it cannot be the same system answering...

The solution is to add StrictHostKeyChecking=no to your .ssh/config file to explain SSH to ignore about those errors.

Please have a look at the SSH page also.

Why does my home directory not contain the same files on every site ?

Every site has its own file server, this is the user's responsibility to synchronise the personal data between his home directory on the different sites. You may use the rsync command to synchronise a remote site home directory (be careful this will erase any file that are not the same as on the local home directory):

rsync -n --delete -avz ~ sync.site.grid5000.fr:~

NB : please remove the -n argument once you are sure you actually don't want to do a dry-run only...;)

How to restore a wrongly deleted file ?

No backup falicity is provided by Grid'5000 platform. Please watch your fingers and do backup your data using external backup services.

How to get a site list of nodes ?

La convention de nommage choisie impose que les noeuds aient un nom de la forme node-xx.site.grid5000.fr, il est donc possible pour un site donné d'extraire du DNS la liste des noeuds. La définition de la fonction shell (utilisant bash) est donnée en exemple:

function nodelist {
    dig "${1}.grid5000.fr" axfr | grep -E '^node-[0-9]+\.' | cut -f 1 -d ' '
}

Dans le shell il suffit alors d'exécuter pour avoir la liste des noeuds de lyon: nodelist lyon

Y a-t-il un moyen d'obtenir l'ensemble des clefs SSH des machines?

Afin d'éviter de répondre 'yes' lors des connections ssh vers de nouvelles machines, il est possible de générer le fichier ~/.ssh/known_hosts automatiquement pour un site, le contenu étant donné par la commande:

nodelist site | ssh-keyscan -tdsa,rsa  -f -

Est-il possible de ne pas avoir à valider les clés SSH des machines?

Il est possible d'utiliser l'option StrictHostKeyChecking positionnée à no, soit dans le fichier de configuration ~/.ssh/config (ie: StrictHostKeyChecking no), soit passé en argument à ssh (ie: -o StrictHostKeyChecking=no).

Comment tester rapidement qu'un ensemble de machines marche?

Si le site a installé la commande nmap ou fping, il est possible de tester l'état des noeuds (déduit en fonction des requêtes ICMP), au choix, avec pour exemple la liste des noeuds d'un site:

nodelist site | nmap -iL - -sP
nodelist site | fping -a 2> /dev/null

Comment tuer tous mes processus?

  • Sur la machine actuellement connecté (attention, cela a pour effet de vous déconnecter):
kill -KILL -1
  • Depuis, le frontal par exemple, pour l'ensemble des noeuds d'un site:
for node in `nodelist site` ; do
  ssh -o StrictHostKeyChecking=no $node kill -KILL -1 
done

Comment me connecter directement sur les noeuds depuis mon poste de travail?

L'astuce consiste à chainer les commandes ssh et à automatiser ceci en utilisant le fichier de configuration ~/.ssh/config. L'exemple donné ici, nécessite l'emploi de la commande nc ou tcpconnect qui couple une connection réseau avec stdin/stdout:

Host frontale.*.grid5000.fr
Host *.grid5000.fr
   User login
   ProxyCommand ssh login@frontal "nc %h %p"

Note: Les noms de machines en *.grid5000.fr ne sont normalement pas connu à l'extérieur de Grid5000.

Attention: Les commandes nc et tcpconnect ne sont pas nécessairement disponibles sur les frontaux.

Note: voir aussi la page SSH

Comment accéder à Internet depuis les noeuds ?

Pour des raisons de sécurité, il n'est pas possible de se connecter à Internet depuis l'intérieur de Grid5000. Toutefois, dans la mesure où le port forwarding via ssh n'a pas encore été supprimé, il est possible d'utiliser la commande suivante, qui permet lorsque l'on se connecte sur le port port_g5k de la machine host_g5k, de faire comme si la connexion avait été établie sur le port port de la machine host (à combiner avec l'accès direct aux machines).

ssh -R port_g5k:host:port host_g5k.site.grid5000.fr

Attention: Si il s'agit d'un véritable besoin vous pouvez en toucher un mot à votre administrateur local avant que celui-ci s'en aperçoive et décide de désosser votre station de travail.

Note: Il est possible de combiner cette méthode avec un proxy web comme squid ou Apache afin d'accéder aux serveurs web d'Internet.

How to add/correct an entry to this page

Just like any other page of the wiki, you can edit the FAQ yourself to improve it. If you click on one of the little "edit" placed after each question, you'll get the possibility to edit that perticular question. To edit the whole page, simply choose the edit tab at the top of the page.