Configuration d'un server SVN utilisant SVNServe dans Amazon ec2 Ubuntu Linux

Cela a été un mal de tête. Où commencer? Jusqu'à présent, j'ai suivi cet article, avec son tutoriel de suivi et ma sortie lorsque j'essaie de faire

svn+engine_ssh://[insert-elastic-ip-here]/var/svn/test 

Je reçois la sortie suivante:

 Permission denied (publickey). svn: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file. svn: Network connection closed unexpectedly 

Mon file de configuration ressemble à ce qui suit dans la section des tunnels (sur le server ec2):

[tunnels]

 engine_ssh = /usr/bin/ssh -l username 

J'ai la même list dans les tunnels de ma machine locale, en utilisant uniquement mon nom d'user local, contrairement à mon nom d'user distant.

Je suppose que le problème est que j'ai besoin de générer une key ssh et que je l'ai configuré sur mon server? Le problème est que ec2 le file utilisé s'appelle hosts.pem comme IdentityFile pour mon file de configuration ssh.

Ainsi, qu'est-ce que je fais mal ici? Que puis-je faire? Existe-t-il des alternatives à l'utilisation de SSH + svn pour mon server?

Si quelqu'un a besoin de plus d'informations, je serais ravi de l'afficher.

Ouais, vous aurez besoin pour votre server d'autoriser la connection via SSH d'une façon ou d'une autre – que ce soit via la connection au mot de passe dans votre sshd_config ou à l'aide des connections des keys – voir cette question pour plus de détails sur l'ouverture de la connection des keys.

Vous compliquez un peu le process de caisse; votre identifiant d'user peut être inclus dans l'URL de la caisse, aucune configuration de tunnel nécessaire. Cela va très bien:

 svn+ssh://remoteusername@[insert-elastic-ip-here]/var/svn/test 

Existe-t-il des alternatives à l'utilisation de SSH + svn pour mon server?

Oui absolument. Le titre de votre question fait reference à svnserve , mais ce n'est pas exact, puisque vous ne l'utilisez pas – c'est la méthode 1, et c'est assez basique. Vous ne souhaitez pas l'utiliser sur Internet, car il n'y a pas de chiffrement – de données ou d'informations d'identification.

La méthode 2 est la méthode SSH avec laquelle vous travaillez actuellement.

La méthode 3 est un server Web utilisant WebDAV pour servir le repository; l'option typique de go-to est Apache et le module mod_dav_svn . Vous pouvez certainement l'examiner si vous n'aimez pas l'option SSH; C'est un peu plus flexible.

Je crains de l'erreur que vous voyez que vous n'avez pas mis votre key personnel ssh sur la machine distante.

Une solution rapide à votre problème serait probablement simplement append votre id_rsa.pub local au file de keys autorisé du server.

D'abord: cat ~/.ssh/id_rsa.pub

Deuxièmement: copyz cette string complète, puis modifiez /home/USERNAME/.ssh/authorized_keys collant la string id_rsa.pub là-bas.

Si vous n'avez pas encore de key personnelle ssh, exécutez ssh-keygen .

En option, si vous ne voulez pas le faire, vous pouvez simplement utiliser la key ssh pour la machine EC2 en spécifiant la variable d'environnement SVN_SSH.

export SVN_SSH="ssh -i path_to_your/key/goes/here"