SSH sans invoquer la coquille

J'ai réussi à gâcher des bibliothèques partagées sur mon système, et maintenant mon shell ne peut pas être exécuté, ce qui me verrouille hors du système. Les deux ssh , sftp et scp , tel que configuré sur le système distant, semblent s'appuyer sur le shell, donc ces alternatives sont éliminées. Vraiment, ce n'est pas un gros problème parce que j'ai des mains éloignées qui peuvent changer mon shell en passant par la console.

Cependant, je suis curieux de me référer à la mécanique du protocole SSH, qu'il soit possible d'authentifier et d'effectuer certaines manipulations sur le système distant (p. Ex., En modifiant /etc/passwd ), sans jamais invoquer le shell?

MODIFIER

Juste pour être juste, à l'autre qui a suggéré de spécifier la command / shell alternative après la string de command ssh (par exemple, ssh myhost /bin/sh ): la page man indique:

 If command is specified, it is executed on the remote host instead of a login shell. 

ce qui pourrait certainement être source de confusion.

One Solution collect form web for “SSH sans invoquer la coquille”

[pour memory seulement – au moment de l'écriture, le problème a longtime été réglé, j'espère que]

Avec openssh , TOUTE command exécutée par sshd est exécutée via votre shell de connection avec l'option -c :

  • command passée dans la command line ssh (c.-à-d. command ssh user@host command )
  • command configurée dans le file .authorized_keys (c.-à-d. command="..." ssh-rsa AAAA... )
  • command spécifiée par l'option sshd_config dans sshd_config
  • l'exécution du script ~/.ssh/rc (via /bin/sh ~/.ssh/rc )
  • même les commands de scp locales à un server exécutées en réponse à un scp distance

Donc, si votre shell de connection est faussé ( /bin/false ou nologin ) ou cassé, il n'y a aucun moyen d'exécuter quelque chose à distance avec ssh . C'est aussi pourquoi aucune autre shell n'est possible.

Il est toujours possible de réparer les choses avec sftp .

  • Désactiver l'utilisation de console-kit-daemon dans Ubuntu
  • Les informations d'identification locales utilisées lorsque le server de rayon est disponible sshd pam_radius
  • Pourquoi rsync doit-il être installé sur les deux côtés pour fonctionner?
  • sshd ne se connecte plus après la mise à jour sur l'installation fraîche de CentOS 7
  • Connectez-vous au server ssh via 80 via le proxy HTTP?
  • Un grand nombre de tentatives de connection ssh
  • Utilisez SSH pour exécuter une command d'export à distance et restz connecté
  • login ssh refusée avec iptables rulles
  • Impossible de configurer l'authentification par key publique SSH
  • goudron repris sur ssh
  • Validation de rsync via SSH authorized_keys command = "..."
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.