2010-11-03 35 views
1

voici la situation: j'ai une machine qui vit chez moi (appelons-la house_machine) et j'ai une autre machine à mon bureau (appelez ceci un office_machine). im utilisant ssh avec l'authentification par clé dsa et sans authentification par mot de passe pour accéder à home_machine depuis office_machine. J'ai mis en place un serveur ssh sur home_machine et ajouté la clé publique générée sur office_machine au fichier authorized_keys sur home_machine. cela fonctionne bien - je peux ssh dans home_machine à partir de office_machine en utilisant simplement la clé et pas de mot de passe.en utilisant la même clé publique ssh sur deux comptes différents

maintenant la question: je voudrais être en mesure d'accéder à home_machine lorsque je visite d'autres bureaux simplement en utilisant la clé publique appartenant à office_machine. c'est-à-dire que je voudrais mettre la clé publique (id_dsa.pub) sur un lecteur USB et juste le copier dans le répertoire .ssh d'un autre bureau. d'après ce que j'ai lu sur ce site, d'autres semblent avoir été en mesure de faire ce genre de chose, mais cela ne fonctionne pas. lorsque je tente simplement de placer id_dsa.pub sur une nouvelle machine et de faire ssh -v [email protected]_machine le message de débogage se termine par:

debug1: Offering public key: .ssh/id_dsa 
debug1: Server accepts key: pkalg ssh-dss blen 433 
debug1: read PEM private key done: type DSA 
debug1: Authentications that can continue: publickey 
debug1: No more authentication methods to try. 
Permission denied (publickey).

ma solution temporaire a été de mettre « PasswordAuthentication oui » dans sshd_config sur home_machine, et il suffit d'utiliser un mot de passe arriver à home_machine. Cependant, cela annule l'utilisation de l'autorisation de clé.

merci d'avance!

Répondre

2

Vous devez copier plus que la clé publique - vous avez besoin de la clé privée.

Dans ssh, vous placez le public du côté serveur mais le client doit posséder la clé privée.

Vous voulez copier le fichier id_dsa (pas id_dsa.pub) sur votre clé USB (assurez-vous qu'il est protégé avec une phrase secrète, au cas où il serait perdu!).

Vous pouvez utiliser cette clé pour vous connecter à home_machine de toute machine qui a accès à la clé:

ssh -i/chemin/vers/utilisateur id_dsa @ home_machine

(il semble que vous pourriez Vous pouvez également utiliser ssh-agent)

De même, vérifiez/var/log/secure pour voir pourquoi votre sshd peut rejeter l'authentification par clé (c'est souvent un problème des permissions sur le répertoire .ssh et ses ancêtres).

+0

merci mon pote - ça a marché. Si quelqu'un d'autre veut lire ceci, si vous voulez copier id_dsa dans votre répertoire /home/userX/.ssh/, vous devez aussi exécuter exec/usr/bin/ssh-agent $ SHELL puis ssh-add en étant connecté en tant qu'utilisateurX, sinon le client ne parlera pas de la nouvelle clé privée. – mulllhausen

+0

Bon appel sur l'agent - les détails de la manière dont les différents environnements interagissent avec l'agent (en supposant qu'il soit utilisé - ce n'est pas obligatoire) sont assez variés en fonction du système d'exploitation et de la version particulière. Alternativement, (et je ne suggère pas à moins que vous ne soyez sûr que le compte est très sécurisé sinon), vous pouvez supprimer la phrase secrète sur votre clé et ensuite éviter le besoin d'agent. J'utilise l'agent pour démarrer mon gestionnaire de fenêtres sous Linux, donc tous les processus ont déjà une connexion d'agent. OS X gère l'intégration du trousseau et l'agent pour vous de manière transparente. –