OVH Cloud OVH Cloud

Impossible d'ouvrir une session via ssh

8 réponses
Avatar
Cyril CRESSENT
Bonjour,

Je suis un débutant sous FreeBSD. J'ai installé chez moi un serveur
accessible depuis le net, histoire de pouvoir faire joujou à distance et
apprendre.

Il y a quelques heures, en installant diverses choses via portinstall,
j'ai du casser quelque chose. En effet, je me suis déconnecté du
serveur, et maintenant, je ne peux plus m'y connecter avec PuTTY. Voici
l'erreur écrite dans le log, qui cause la fermeture du terminal a dès
que je me suis authentifié:

/libexec/ld-elf.so.1: Shared object "libintl.so.6" not found, required
by "-bash"

D'après ce que je comprend, il n'arrive pas à trouver une lib nécessaire
à l'utilisation de bash. Je voudrais bien lui donner sa lib, mais les 3
comptes que j'ai crées utilisent tous bash comme interpréteur de
commandes...

Y a t'il un moyen de faire les modifs nécessaires pour que ça reparte
sans tout réinstaller?
Sachant que je n'ai jamais touché au fichier .so mentionné plus haut,
est il possible de savoir ce qui a provoqué ce dysfonctionnement,
histoire que j'apprenne?

Cordialement,

Cyril CRESSENT

8 réponses

Avatar
patpro ~ patrick proniewski
In article <45035249$0$21147$,
Cyril CRESSENT wrote:

Y a t'il un moyen de faire les modifs nécessaires pour que ça reparte
sans tout réinstaller?
Sachant que je n'ai jamais touché au fichier .so mentionné plus haut,
est il possible de savoir ce qui a provoqué ce dysfonctionnement,
histoire que j'apprenne?


en local, booter en single user (ou a partir d'un CD), monter / en rw,
éditer le /etc/passwd pour changer le shell de root, puis rebooter
normalement, se loguer en root et réparer bash.

patpro

--
http://www.patpro.net/

Avatar
Cyril CRESSENT

en local, booter en single user (ou a partir d'un CD), monter / en rw,
éditer le /etc/passwd pour changer le shell de root, puis rebooter
normalement, se loguer en root et réparer bash.

patpro



Merci Patrick. C'est donc bien ce que je redoutais: on ne peut pas
intervenir à distance, il faut être physiquement devant la machine.

Heureusement, j'ai encore accès à la machine comme je le veux, mais
d'ici à la fin de la semaine prochaine, je n'aurai qu'un accès distant
(retour sur Lyon, pour les études) au serveur. Si ça m'arrive encore, je
devrais attendre plusieures semaines avant de rentrer chez moi pour réparer!

Voici donc ce à quoi j'ai pensé, histoire de pouvoir essayer de réparer
à distance: créer un compte "de secours" appartenant au groupe wheel
dont le shell serait celui par défaut, sh. Ainsi, je pourrai me
connecter avec, utiliser su et réparer.
Bonne solution ou c'est bancale?

Dernière chose, vous me dites d'éditer /etc/passwd pour changer de
shell. Ce n'est pas dans le fichier ~/.chsh qu'il faut modifier, en
utilisant la commande chsh -s /chemin/vers/le/shell user ?

Je suis plutôt nouveau dans le monde BSD, c'est juste pour savoir si
c'est moi qui fait n'importe quoi ou pas.

Merci Patrick,

Cyril

Avatar
Cyril CRESSENT

en local, booter en single user (ou a partir d'un CD), monter / en rw,
éditer le /etc/passwd pour changer le shell de root, puis rebooter
normalement, se loguer en root et réparer bash.

patpro




Oh, et je présume que je suis obligé d'arrêter la machine "sauvagement"
pour faire la manip?
Pas moyen de l'arrêter plus ou moins proprement?

Cyril


Avatar
MaXX
Cyril CRESSENT wrote:
[...]
Oh, et je présume que je suis obligé d'arrêter la machine "sauvag ement"
pour faire la manip?
Pas moyen de l'arrêter plus ou moins proprement?
ssh lamachine /bin/csh -i [*] devrait te donner un shell très limité

mais suffisant pour effectuer le shutdown proprement, voir une partie
des reparations...

[*]Me rappelle plus si on peut spécifier la commande dans putty...
--
MaXX

Avatar
Eric Masson
Cyril CRESSENT writes:

'Lut,

Pas moyen de l'arrêter plus ou moins proprement?


Si la machine est en GENERIC, sur la console, [CTRL][Alt][Del].

Pour l'accès à distance quand la liaison lan/wan est aux fraises, il est
aussi possible d'utiliser un port série en console :
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/serialconsole-setup.html

Associé à un modem correctement paramétré, allumé sur demande, cela fait
une console de secours.

--
je me connecte grâce à Wanadoo et je trouve que la durée de vie des
messages qu'ils ont imposé est trop court. J'y vois presque une forme
de censure basée sur une conservation réduite des traces écrites.
-+- Ed in GNU : Et gravé dans le marbre, ça ne serait pas mieux ? -+-

Avatar
F. Senault

Cyril CRESSENT wrote:
[...]
Oh, et je présume que je suis obligé d'arrêter la machine "sauvagement"
pour faire la manip?
Pas moyen de l'arrêter plus ou moins proprement?
ssh lamachine /bin/csh -i [*] devrait te donner un shell très limité

mais suffisant pour effectuer le shutdown proprement, voir une partie
des reparations...


Hélas, il me semble que pour lancer une commande, ssh démarre d'abord le
shell...

Ouais, après avoir fait la manip :

root [...] ?? Is 14:08 0:00,03 sshd: fred [priv] (sshd)
fred [...] ?? S 14:08 0:00,01 sshd: (sshd)
fred [...] ?? Is 14:08 0:00,02 tcsh -c /bin/sh
fred [...] ?? S 14:08 0:00,01 /bin/sh

C'est bien tcsh (mon shell dans le fichier passwd) qui est utilisé pour
lancer /sin/sh.

Maintenant, peut-être que ça marcherait, mais, hélas, j'en doute.

Fred
--
I need to be cleansed It's time to make amends For all of the fun
The damage is done And I feel diseased I'm down on my knees
And I need forgiveness Someone to bear witness To the goodness within
Beneath the sin (Depeche Mode, To Have and to Hold)


Avatar
patpro ~ patrick proniewski
In article <4503e997$0$21146$,
Cyril CRESSENT wrote:

Merci Patrick. C'est donc bien ce que je redoutais: on ne peut pas
intervenir à distance, il faut être physiquement devant la machine.


peut etre que le `ssh machine /bin/csh` proposé plus bas dans le fil
marche, je n'ai pas essayé de me loguer sur une machine dont le shell
par défaut est "cassé".

Voici donc ce à quoi j'ai pensé, histoire de pouvoir essayer de réparer
à distance: créer un compte "de secours" appartenant au groupe wheel
dont le shell serait celui par défaut, sh. Ainsi, je pourrai me
connecter avec, utiliser su et réparer.
Bonne solution ou c'est bancale?


c'est parfait, normalement tu as déjà un compte "toor" d'UID 0 pour
faire des manip de récupération, mais par défaut il n'est pas utilisable
via SSH.

Dernière chose, vous me dites d'éditer /etc/passwd pour changer de
shell. Ce n'est pas dans le fichier ~/.chsh qu'il faut modifier, en
utilisant la commande chsh -s /chemin/vers/le/shell user ?


chsh édite /etc/passwd

patpro

--
http://www.patpro.net/

Avatar
MaXX
F. Senault wrote:

Cyril CRESSENT wrote:
[...]
Oh, et je présume que je suis obligé d'arrêter la machine "sauv agement"
pour faire la manip?
Pas moyen de l'arrêter plus ou moins proprement?
ssh lamachine /bin/csh -i [*] devrait te donner un shell très limité

mais suffisant pour effectuer le shutdown proprement, voir une partie
des reparations...
Hélas, il me semble que pour lancer une commande, ssh démarre d'abo rd le

shell...
Ouais, après avoir fait la manip :
root [...] ?? Is 14:08 0:00,03 sshd: fred [priv] (sshd)
fred [...] ?? S 14:08 0:00,01 sshd: (sshd)
fred [...] ?? Is 14:08 0:00,02 tcsh -c /bin/sh
fred [...] ?? S 14:08 0:00,01 /bin/sh

C'est bien tcsh (mon shell dans le fichier passwd) qui est utilisé po ur
lancer /sin/sh.

Maintenant, peut-être que ça marcherait, mais, hélas, j'en doute.
Possible, je n'ai pas pris la peine de casser mon shell pour tester...


Bon bin, console alors, désolé pour le bruit...

--
MaXX