web-dev-qa-db-fra.com

SourceTree sous Windows: comment se connecter à SSH?

J'ai un accès SSH à mon hébergement Web, cela fonctionne très bien avec PuTTY (je devais juste entrer mon domaine, mon nom d'utilisateur et mon mot de passe), mais cela semble beaucoup plus compliqué avec SourceTree.

Bien que PuTTY ait un champ pour "Nom d'hôte", "nom d'utilisateur" et "mot de passe", SourceTree n'a pas et nécessite un fichier spécial ".ppk "?!

J'ai besoin de connecter SourceTree à mon hébergement Web via SSH pour la raison évidente que je veux l'utiliser pour pousser vers un référentiel distant situé sur mon hébergement Web.

Alors comment puis-je obtenir un .ppk fichier généré à partir de mon domaine/nom d'utilisateur/mot de passe? Toute aide grandement appréciée!

PS: j'ai remarqué qu'ils facilitaient la connexion à BitBucket en offrant deux champs simples: "nom d'utilisateur" et "mot de passe", et rendaient la connexion à un tiers extrêmement difficile - parti SSH ... Est-ce une tentative intentionnelle d'empêcher la concurrence?!

25
Community

Il existe deux façons de connecter SourceTree à n'importe quel SSH.

1: La manière la plus simple

La manière la plus simple est d'utiliser votre nom de domaine, nom d'utilisateur et mot de passe fournis par votre fournisseur d'hébergement Web:

Utilisez simplement la syntaxe suivante: ssh://[email protected]/ - SourceTree vous invitera alors à entrer votre mot de passe chaque fois que vous pousserez vers ce SSH:

SourceTree SSH Password Prompt

Si vous cochez la case Remember password case à cocher, votre mot de passe sera enregistré et vous ne serez plus invité à le saisir. Vous pouvez modifier ou supprimer le mot de passe stocké ultérieurement en accédant à Tools > Options > Authentication comme indiqué sur l'image ci-dessous:

SourceTree Windows Authentication Panel

Remarque: Dans mon cas (hébergement partagé 1 & 1), le nom d'utilisateur et le mot de passe étaient les mêmes que mon compte FTP principal.

2: La manière la plus complexe

La manière la plus complexe est d'utiliser une paire de clés privées/publiques:

Cela implique de générer deux clés (une "privée" et une "publique") à l'aide du " PuTTY Key Generator " (dans SourceTree, accédez à Tools > Create or Import SSH Keys).

Une fois générée, enregistrez la clé privée dans un .ppk fichier et chargez-le dans SourceTree (Tools > Create or Import SSH Keys > Load). Ce n'est pas encore fini: vous devez maintenant ajouter la clé publique à votre serveur. Pour ce faire, ajoutez-le au fichier suivant sur votre serveur Web: /.ssh/authorized_keys.

Si ce fichier n'existe pas, enregistrez votre clé publique dans un fichier nommé authorized_keys et téléchargez-le sur votre serveur via FTP. Vous devez le télécharger dans un répertoire nommé /.ssh/ situé à la racine (s'il n'existe pas, créez-le simplement).

Remarque: assurez-vous d'utiliser le compte FTP principal de votre compte d'hébergement. Si cela ne fonctionne pas, ajustez les autorisations (chmod) du authorized_keys fichier et définissez-le sur 777 à l'aide de votre logiciel FTP (Right-click on "authorized_keys" > File permissions):

FileZilla FTP Client Change File Permissions

FileZilla FTP Client on Windows - Set chmod

Pas besoin de ligne de commande.

24
Community

J'ai dû faire un travail supplémentaire de réponse de Patoshi .

Dans Outils> Options> Général> Configuration du client SSH, je devais le pointer vers la clé id_rsa et sélectionner OpenSSH comme client SSH (PuTTY/PLink est sélectionné par défaut). SSH Client Configuration

Ensuite, chaque fois que vous démarrez SourceTree, une invite apparaîtra demandant la phrase secrète pour décrypter la clé id_rsa (en supposant que vous l'avez créée avec une phrase secrète pour la crypter). Cela ressemble à ceci: passphrase Prompt

À ce stade, je pouvais aller sur la page Clone, coller l'adresse SSH de mon projet Gitlab ([email protected]: Blah/Wwhat.git) et le cloner. Pas d'invite supplémentaire pour le nom d'utilisateur ou le mot de passe (car il utilise des clés SSH).

9
Anssssss

J'ai eu du mal à faire fonctionner SourceTree avec un dépôt git existant qui résidait sur gitlab. J'ai également dû comprendre pourquoi il ne se connectait pas car j'utilisais puttygen pour générer les clés.

Assurez-vous après avoir généré vos clés de l'exporter au format OpenSSH

enter image description here

Vous placez ce fichier dans votre dossier c:\user\MYUSERNAME.ssh en tant que fichier:

  • id_rsa
  • id_rsa.pub

id_rsa est le fichier de clé privée et .pub est le fichier de clé publique que vous collez dans votre autre application, qui dans mon cas était gitlab.

8
Patoshi パトシ