Changer d'utilisateur avec “sudo su - nom d'utilisateur” à l'aide de clés SSH
J'ai essayé d'utiliser des clés ssh afin d'être en mesure de passer d'un utilisateur à un autre utilisateur sur la même machine Linux/serveur à l'aide de sudo su - username
.
Ce que je veux faire: j'ai plusieurs comptes sur un seul serveur.
Je veux verrouiller ces compte avec passwd -l username
,
et n'autoriser l'accès qu'avec les clés SSH, par ssh-ing d'un utilisateur à l'autre sur la même machine, par exemple, : [user1@server]$ ssh user2@server
Je l'ai fait par la copie de la clé publique de user1
à la authorized_keys
fichier de user2
et il fonctionne très bien.
Mais l'autre chose que je voudrais faire, c'est d'être en mesure de sudo su - user2
de user1
, en utilisant les clés ssh, donc je peux éviter l'invite de mot de passe.
par exemple, [user1@server]$ sudo su - user2
J'ai modifié le fichier sshd_config, et décommentez les champs:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
mais encore, je ne suis pas en mesure de le faire.
J'ai aussi essayé ce que j'ai trouvé sur l'internet en ce qui concerne l'agent de transfert, mais rien.
Quelqu'un peut-il m'aider sur la façon de faire ceci ou de m'indiquer la bonne direction?
sudo
n'en sait rien, ni ne se soucient, ssh
clés. Ils sont des choses totalement différentes. Afin d'obtenir sans mot de passe sudo
de travail, vous devez configurer sudo
correctement.
OriginalL'auteur Pier | 2013-06-12
Vous devez vous connecter pour publier un commentaire.
sudo
n'a rien à voir avec SSH etsshd
config.Ce que vous voulez vraiment est un module PAM qui va utiliser les clés publiques SSH. Je ne suis pas sûr de ce que sont vos raisons que l'idée semble un peu étrange, mais bon.
pam_ssh
est le module qui fait ça.Bien sûr, les clés ssh peut vous aider, mais vous n'avez pas besoin
sudo
puis,su
est assez. Comme je l'ai mentionné, vous pouvez utiliserpam_ssh
module et configurer votre PAM à utiliser poursu
d'authentification. Notez que vous serez de toute façon avoir à entrer le mot de passe pour décrypter votre clé SSH, parce que si votre clé n'est pas crypté avec un mot de passe c'est un peu inutile.ssh-agent de faire le travail pour ne pas entrer de mot de passe
OriginalL'auteur kirelagin
Pour obtenir sudo pour travailler sans mot de passe d'un autre utilisateur, ce sont les changements requis (les exécuter avec un accès super-utilisateur):
éditez le fichier /etc/sudoers
Les modifications de configuration
maintenant, avec le dernier sudo su - user2 devrait fonctionner
La seule pierre d'achoppement a été à l'utilisateur d'être ajouté au groupe sudo
Les exemples ci-dessus dans le fichier de configuration indique à l'utilisateur d'abord, puis par groupe, vous avez seulement besoin de 1 de la de deux
Édité:
ajouter exécuter groupe
donc pour les utilisateurs qui exigent un mot de passe
pour les utilisateurs qui ne nécessitent pas de mot de passe:
le faire via des groupes puis - créer des groupes qui incluent les variantes et ensuite inclure les utilisateurs dans le cadre des variations groupe1 {utilisateurs autorisés } groupe2 {règle différente }, puis à l'aide de la commande sudo config vous auriez alors besoin de deux lignes de %et %groupe2 -- Il n'y a aucun rapport entre sudo et ssh config..
evans.io/posts/ssh-agent-de-sudo-authentification jetez un oeil ici pour essayer de combiner les deux, il y a sur un ensemble standard pas de relations..
Réglage de l'éditeur n'est pas "nécessaire". Il devrait être évitée. Même si c'est uniquement pour la session en cours, il a un potentiel de confondre les utilisateurs inexpérimentés. Aussi, vous avez oublié d'ajouter "sudo".
Albin supprimé, vous ne savez pas ce que vous entendez par oublié d'ajouter sudo ? u peut modifier le mettre à jour ?
OriginalL'auteur Vahid