Comment puis-je ssh dans une boîte en tant qu'un autre utilisateur étant donné que l'utilisateur hôte n'a pas de clé ssh sur la machine distante

13

Disons que mon nom d'utilisateur de ma machine mac est John.

J'ai un compte slicehost entièrement configuré. Notez que sur cette tranche, il n'y a pas de clé ssh pour John.

Maintenant, je configure cette case pour les accès ssh pour le déploiement utilisateur.

Sur ma machine Mac, j'ai la clé privée pour le déploiement de l'utilisateur. Slicehost possède une clé publique pour le déploiement des utilisateurs.

Encore une fois, slicehost n'a rien pour l'utilisateur john.

Si je veux ssh dans la boîte sliceghost lors du déploiement de l'utilisateur, dois-je également y mettre la clé publique pour John?

user35340
la source
Par souci d'exhaustivité, j'ajouterais ce lien afin de pouvoir y faire référence plus tard. gist.github.com/df7d13a0556cd4a1bc13
user35340

Réponses:

22

Sorte de.

Vous devez mettre votre clé publique pour le compte dont vous venez sur le serveur distant. S'il s'agit de votre clé John, placez cette clé sur le serveur auquel vous vous connectez en utilisant le compte approprié pour ce serveur.

Dans votre cas, vous vous connectez en tant que déploiement. Ainsi, lorsque vous vous connectez, vous tapez:

ssh deploy@slicehost

Si votre clé pour John se trouve dans le fichier .ssh / authorized_keys du déploiement de compte , vous obtiendrez un accès direct.

Jim
la source
1
cela ne va-t-il pas à l'encontre de l'objectif de se connecter en tant que quelqu'un d'autre? Donc, dans ce cas, il semble que je doive mettre la clé publique pour John et déployer dans le fichier authorized_keys.
user35340
3
Non. Nous le faisons tout le temps pour les sauvegardes sftp. Nous générons une paire de clés privées publiques sur quel système nous devons sauvegarder. Nous mettons la clé publique de ce compte / machine sur notre serveur de sauvegarde sous un utilisateur, backup-user, par exemple. Ensuite, pour effectuer une sauvegarde à partir de la machine cliente, nous allons sftp vers backup-user @ backup_machine. L'utilisateur sur la machine cliente n'a pas d'importance. Il importe simplement qu'une clé publique pour cette machine se trouve dans le fichier authorized_keys sur le serveur de sauvegarde sous le répertoire .ssh du compte utilisateur de sauvegarde. Fonctionne comme un charme.
Jim
1

Non. Le nom d'utilisateur n'a rien à voir avec la paire de clés publique / privée. Il n'est enregistré nulle part dans aucune des clés. Tant que vous placez la clé publique dans le .ssh/authorized_keysfichier d' un utilisateur, vous pouvez vous connecter en tant qu'utilisateur en utilisant la clé privée.

Kamil Kisiel
la source
J'essaie juste de m'assurer que je comprends bien. Tant que John dispose de la clé privée pour le déploiement et que la clé publique pour le déploiement se trouve dans le fichier authorized_keys, John doit pouvoir se connecter en tant que déploiement.
user35340
Cela ne semble pas fonctionner pour moi - j'ai copié .ssh.authorized_keysd'un compte à l'autre mais je ne peux toujours pas me connecter
Edgar H
1

Vous devrez spécifier à la fois que vous souhaitez vous connecter en tant qu'utilisateur "deploy" et également spécifier le fichier d'identité à déployer.

ssh -i ~/.ssh/id_deploy.rsa deploy@slicehost

Où id_deploy.rsa est le fichier de clé privée correspondant à la clé autorisée que vous avez téléchargée sur le compte slicehost.

David Smith
la source