ssh sans mot de passe pour un autre nom d'user?

Je veux faire une connection ssh sans mot de passe pour un projet de subversion. En ce moment, j'utilise ssh + svn, et c'est un peu gênant, car je dois taper le mot de passe à chaque fois que je veux traiter avec le server.

J'ai trouvé plusieurs tutoriels sur le Web pour générer une key pour ssh sans mot de passe, mais ils semblent tous supposer que j'utilise le même nom d'user sur le système distant que pour mon système domestique. Cependant, le nom d'user que j'utilise pour ssh + svn est différent que le nom de count d'user sur le système que j'exécute. Comment puis-je le configurer correctement? Je n'ai pas eu de chance de simplement changer le nom dans le file key.

Il suffit de fournir le nom d'user de l'autre système dans la command svn :

 $ svn co svn+ssh://otheruser@othersystem/path/to/repo 

Pour répondre au titre de votre question, aussi:

 $ ssh otheruser@othersystem 

Cela amène sshd sur la machine distante à chercher dans ~otheruser/.ssh/authorized_keys la key publique correspondant à la key privée de la machine sur laquelle vous tapez la command.

Il y a deux façons de faire ça:

1) mettre user @ dans l'URL svn; Cela indique à svn + ssh de se connecter en tant qu'user. Je pense que c'est une mauvaise idée du sharepoint vue de la maintenance, car des choses comme les externaux qui pointent vers d'autres parties du référentiel ne fonctionneront pas correctement.

2) faire un ~ / .ssh / config (documenté comme ssh_config ) qui dit quelque chose comme:

 Host othersystem User otheruser 

De cette façon, toute tentative de ssh vers un autre système sera utilisée par défaut avec otheruser. Ce qui est pratique pour vous lorsque vous faites ssh manuellement ainsi que lorsque vous utilisez svn.

Vous n'avez pas à avoir le même nom d'user sur les deux machines. Tant que vous générez la key ( ssh-keygen ), vous devez copyr la ligne de ~/.ssh/id_rsa.pub ou ~/.ssh/id_dsa.pub (en fonction du type de key) du server local et l'append à ~/.ssh/authorized_keys sur la télécommand.

 % ssh-keygen % cat ~/.ssh/id_*.pub | ssh remoteuser@remoteserver 'cat > .ssh/authorized_keys' 

Si vous ne voulez pas taper remoteuser chaque fois append à ~/.ssh/config :

 Host remoteserver User remoteuser 

PS. Le nom de la key peut être sous la forme de localuser@localhost mais ce n'est qu'un nom . Il peut être tout aussi bien myfavouritekey@myfavouritecomputer et personne ne s'en souciera.

Après avoir créé .ssh / config et exécuté:

 cat ~/.ssh/id_*.pub | ssh remoteuser@remoteserver 'cat > .ssh/authorized_keys' 

J'obtiens une erreur:

 Bad owner or permissions on /usr/share/eprints3/.ssh/config 

puis j'ajoute chmod 600 .ssh/config , et après ça, ça tourne bien.

 enter code here