Lancer screen au demarrage de la machine. - Linux et OS Alternatifs
Marsh Posté le 23-08-2004 à 18:28:56
j'ai pas vraiment compris pourquoi tu avais besoin de faire sauter l'étape de login ? si tu veux lancer un screen au démarrage à priori je suppose qu'il suffit de mettre un lien dans les scripts de démarrage (sous debian /etc/rc2.d/ par exemple)
pour faire sauter l'étape de login il suffit de virer le lien S99rmnologin (toujours sous debian)
mais bon je suis pas sur d'avoir compris toute la question ...
Marsh Posté le 24-08-2004 à 08:51:42
Si j'ai bien compris ce que tu voulais faire, tu veux te reconnecter a ton screen sans mot de passe demande par ssh, afin de faire des scripts
J'ai bon ?
Pour se connecter sans mot de passe y a plusieurs techniques
l'ancienne methode style rsh avec ~/.rhosts ou ~/.shosts, dans lesqueles tu authorises tel couple "host utilisateur" a se connecter sans mot de passe. (Il faut que tu modifie /etc/ssh/sshd_config pour que ca marche)
L'autre technique est bien plus securisee :
Sur l'ordi que tu vas utiliser pour te connecter a ton ordi distant,
user@ordilocal> ssh-keygen -t rsa
(ne met pas de pass-phrase, ca sert en plus a verouiller ta clef par mdp)
user@ordilocal> scp ~/.ssh/id-rsa.pub user2@ordistant:~/id
user@ordilocal> ssh user2@ordistant
user2@ordistant> cat id >> .ssh/authorized_keys
user2@ordistant> logout
user@ordilocal> ssh user2@ordistant
Magic a pu de pass a mettre, et c'est bien securise !
Il te suffit un peu de bidouiller dans le repertoir .ssh de l'ordi distant pour qu'a l'ouverture de ta session ssh tu fasses un screen -r
Marsh Posté le 24-08-2004 à 09:44:57
Non non non c pas ca que je veux
Bon c'est ma faute je la refait en francais.
Bon j'ai un serveur sans ecran (donc les tty locales me sont inacessibles)
Je me connecte au serveur via ssh (acces distant);
Et justement je voulais utiliser une tty; pourquoi !
Inconvennient de ssh par rapport à une tty:
Ssh est distant et si mon client avec lequel je lance ssh plante, perd le lien ou meme si je ferme la fenetre ssh, on est daccord que je perd la tache en cours car le pere de la tache est le shell en ssh ( et si je veux lancer une tache assez longue je doit attendre que cette derniere est finie avant de fermer le client)
Avantage de la tty:
C'est locale, je perds pas le lien reseau,Le serveur est constament allumé, je peux laisser tourner les taches, j'ai tout le temps...
Et voila pourquoi je veux faire intervennir "screen":
Je me connecte via ssh avec mon screen de la tty1; exemple je suis au boulot je veux lancer une sauvegarde qui va prendre au moin 4 heures,
Je me connecte via ssh et utilise le screen de la tty1 (on est daccord que c'est comme ci qu'j'etais sur la tty1, je lance la suavegarde et laisse screen tourner et je peux fermer le shell ssh, ma sauvegarde continue de tourner sur la tty1 ...
Plustard je peux regarder ou ca en est en utilisant mon screen sur la tty1...
Voila j'espere que vous avec compris, screen me permet d'utiliser la tty1...
Mais le probleme pour utiliser screen sur la tty1 il faut que je me connecte sur la tty1 d'abord et que je lance screen !
Mais comme j'ai pas d'ecran ni de clavier sur le serveur... ca va etre rude, c'est pour cela que je chercher une solution pour lancer screen au boot ou de faire sauter le login de la tty1 (que le shell soit directement connecté en root et que via un script je lance screen ensuite)
Voila j'espere que vous aurez compris.
Merci MattDaemon mais ce n'est pas ca que je veux ;-)
merci
Marsh Posté le 24-08-2004 à 10:09:56
si tu veux lancer des tâches de fond sans que la fermeture du client/console/session ne la coupe, il suffit de tapper:
nohup ta_commande &
Si c'est juste pour ça que tu veux utiliser une tty, ça marche aussi bien.
ta_commande s'exécutera jusqu'à ce qu'elle ai finis, que tu la kill ou que tu éteignes ta machine.
Si tu veux pouvoir suivre son évolution (et qu'il y a des sorties à l'écran), tu fais
nohup ta_commande > fichier_de_sortie
Puis avec un petit tail -f fichier_de_sortie tu peux voir l'évolution tranquillement
Marsh Posté le 24-08-2004 à 10:11:57
La c'est la technique du bazooka pour tuer la mouhche.
J'ai lu ton probleme, et c'est tout a fait possible de faire ce que tu veux avec ssh + screen sans forcement se borner a utiliser la tty1
Quand tu lances ta sauvegardes de 4 heures, tu te connectes d'abord en ssh, ensuite tu fais screen -S sauvegarde commande_pour_faire_ma_sauvegarde
Maintenant, tu peux fermer ton terminal ssh, meme si la connexion est interrompue la sauvegarde continueras de tourner sans toi
Quand tu te relog plus tard tu fais screen -ls pour avoir la liste des screens que tu as
Pour voir l'avancement de la sauvegarde tu feras screen -R sauvegarde
Tu peux avoir autant de screen que tu veux, et leur mettre des noms explicite. Plus besoin de se trouver explicitement sur la tty1
Marsh Posté le 24-08-2004 à 10:15:56
J'avais pas lu ce que tu avais poste deltaden, l'avantage de screen (qui est tres simple a utiliser). C'est que tu peux continuer a voir l'execution de la commande en rattachant le screen (screen -R).
avec nohup tu ne peux que lire le resultat de l'execution de la commande qui se trouve dans nohup.out, mais pas la reprendre en cours de route.
J'ai un screen qui tourne avec un client irc (irssi) a l'interieur depuis trois mois, et pas de pbs.
Marsh Posté le 24-08-2004 à 11:40:01
Ah ben je vous remercie, c'est une tres bonne solution, mais je penche plutot du coté de screen et non nohup qui sur certaines commandes m'a plus embeté qu'autre chose ...
merci à vous... ;-)
Marsh Posté le 24-08-2004 à 11:43:21
MattDaemon a écrit : J'avais pas lu ce que tu avais poste deltaden, l'avantage de screen (qui est tres simple a utiliser). C'est que tu peux continuer a voir l'execution de la commande en rattachant le screen (screen -R). |
oui, je vois bien la différence maintenant. Avec screen tu gardes l'interactivité, alors que nohup permet juste de voir la sortie.
Je connaissais pas, merci pour l'info
Marsh Posté le 23-08-2004 à 00:30:23
Bonjour à tous,
J'ai un serveur sans écran et je me connecte sur ce dernier via ssh.
Je souhaiterais lancer screen au demarrage du serveur afin d'utiliser la tty1 et ainsi laisser des taches tourner tout en eteingnant les clients...
Seul probleme, dés le boot de la machine, dés que tout est OK, la tty demande bien sûr le login ainsi que le mot de passe, faudrait que je trouve un moyen de faire sauter ca... dans le but de lancer screen via un script de login ou autre ...
Enfin si quelqu'un voit une soluce...
J'ai meme essayer de voir si a partir du client je pouvais simuler le login sur la tty1 en redirigeant le login et le passe a l'aveuglete mais rien a faire ...
j'ai fait comme ceci : echo "root" > /dev/tty1
Bon si quelqu'un sait comment lancer screen au boot et faisant sauter la demande de login ou comment recuperer la tty1 a partir d'un acces distant pour ensuite y lancer screen...
merci
Message édité par bloubi le 24-08-2004 à 09:25:21