FAQ: Difference between revisions
(Intégration des remarques de Philippe Marty) |
(Add a real TOC) |
||
Line 1: | Line 1: | ||
__TOC__ | __TOC__ | ||
== How to add/correct an entry to the FAQ? == | == About this document == | ||
=== How to add/correct an entry to the FAQ? === | |||
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. | 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. | ||
== Why does my home directory not contain the same files on every site ? == | |||
== Accessing Grid'5000 == | |||
=== Comment me connecter directement sur les noeuds depuis mon poste de travail? === | |||
L'astuce consiste à chainer les commandes <code class="command">ssh</code> et à automatiser ceci en utilisant le fichier de configuration <code class="file">~/.ssh/config</code>. | |||
L'exemple donné ici, nécessite l'emploi de la commande <code class="command">nc</code> ou <code class="command">tcpconnect</code> 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 <code class="host">*.grid5000.fr</code> ne sont normalement pas connu à l'extérieur de Grid5000. | |||
'''Attention''': Les commandes <code class="command">nc</code> et <code class="command">tcpconnect</code> 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 <code class="command">ssh</code> 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'[[#Comment me connecter directement sur les noeuds depuis mon poste de travail?|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 [http://www.squid-cache.org/ squid] ou [http://httpd.apache.org/ Apache] afin d'accéder aux serveurs web d'Internet. | |||
== Account management == | |||
=== 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): | 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:~ | rsync -n --delete -avz ~ sync.''site''.grid5000.fr:~ | ||
Line 9: | Line 38: | ||
'''NB :''' please remove the ''-n'' argument once you are sure you actually don't want to do a ''dry-run'' only...;) | '''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? == | === 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. | No backup falicity is provided by Grid'5000 platform. Please watch your fingers and do backup your data using external backup services. | ||
== | == SSH related questions == | ||
== Y a-t-il un moyen d'obtenir l'ensemble des clefs SSH des machines? == | === 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 <code class="file">~/.ssh/known_hosts</code> automatiquement pour un ''site'', le contenu étant donné par la commande: | Afin d'éviter de répondre 'yes' lors des connections ssh vers de nouvelles machines, il est possible de générer le fichier <code class="file">~/.ssh/known_hosts</code> automatiquement pour un ''site'', le contenu étant donné par la commande: | ||
nodelist ''site'' | ssh-keyscan -tdsa,rsa -f - | nodelist ''site'' | ssh-keyscan -tdsa,rsa -f - | ||
== Est-il possible de ne pas avoir à valider les clés SSH des machines? == | === Est-il possible de ne pas avoir à valider les clés SSH des machines? === | ||
Il est possible d'utiliser l'option <code>StrictHostKeyChecking</code> positionnée à <code>no</code>, soit dans le fichier de configuration <code class="file">~/.ssh/config</code> (ie: <code>StrictHostKeyChecking no</code>), soit passé en argument à <code class="command">ssh</code> (ie: <code>-o StrictHostKeyChecking=no</code>). | Il est possible d'utiliser l'option <code>StrictHostKeyChecking</code> positionnée à <code>no</code>, soit dans le fichier de configuration <code class="file">~/.ssh/config</code> (ie: <code>StrictHostKeyChecking no</code>), soit passé en argument à <code class="command">ssh</code> (ie: <code>-o StrictHostKeyChecking=no</code>). | ||
= | === How not to get tons of [[SSH]] errors about Man-in-the-middle attacks while deploying images ? === | ||
== 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 | This is because [[SSH]] get worried by the fact that the machine answering to | ||
Line 48: | Line 66: | ||
- Add StrictHostKeyChecking=no to your .ssh/config file to explain [[SSH]] to ignore about those errors. | - Add StrictHostKeyChecking=no to your .ssh/config file to explain [[SSH]] to ignore about those errors. | ||
- Pass this option (StrictHostKeyChecking=no) on the command line to ssh (using - | - Pass this option (StrictHostKeyChecking=no) on the command line to ssh (using -o) | ||
- Make sure that you have the same host_dsa_key in your onw images than in defaults one. They can | - Make sure that you have the same host_dsa_key in your onw images than in defaults one. They can | ||
Line 55: | Line 73: | ||
Please have a look at the [[SSH]] page also. | Please have a look at the [[SSH]] page also. | ||
== Comment tuer tous mes processus? == | == Deployment related issues == | ||
=== How to get a site list of nodes ? === | |||
La convention de nommage choisie impose que les noeuds aient un nom de la forme <code class="host">node-''xx''.''site''.grid5000.fr</code>, il est donc possible pour un site donné d'extraire du DNS la liste des noeuds. La définition de la fonction shell (utilisant <code>bash</code>) 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: <code class="command">nodelist lyon</code> | |||
=== Comment tester rapidement qu'un ensemble de machines marche? === | |||
Si le site a installé la commande <code class="commande">nmap</code> ou <code class="command">fping</code>, 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): | * Sur la machine actuellement connecté (attention, cela a pour effet de vous déconnecter): | ||
kill -KILL -1 | kill -KILL -1 | ||
Line 62: | Line 95: | ||
ssh -o StrictHostKeyChecking=no $node kill -KILL -1 | ssh -o StrictHostKeyChecking=no $node kill -KILL -1 | ||
done | done | ||
Revision as of 14:53, 20 July 2006
About this document
How to add/correct an entry to the FAQ?
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.
Accessing Grid'5000
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.
Account management
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.
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
).
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...
Technically speaking, the file /etc/ssh/ssh_host_dsa_key.pub is likely to be different in your own deployed image and in the default image. SSH will thus freak out since such replacement usually denote that someone is intercepting the communication and pretend to be the server to get informations from you.
There is two solutions, at least:
- Add StrictHostKeyChecking=no to your .ssh/config file to explain SSH to ignore about those errors.
- Pass this option (StrictHostKeyChecking=no) on the command line to ssh (using -o)
- Make sure that you have the same host_dsa_key in your onw images than in defaults one. They can usually be found in the pre/post install scripts of your site.
Please have a look at the SSH page also.
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
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