• Status:Closed(View Workflow)
  • Resolution: Duplicate
  • Fix Version/s: None
  • Labels:
  • Environment:

    Mac OS X Sierra desktop

    Product key generator office. Bitbucket Server

    Sourcetree 2.4 (and the Beta has this problem too)

Nov 30, 2016 A Complete Beginners Guide to Zoom (2020 UPDATE) Everything You Need To Know To Get Started - Duration: 36:57. Ben Balden - live a happier, fuller life Recommended for you.

  1. If this didn't fix your problems then close SourceTree and restore the files, then re-open SourceTree again (if at all possible). Description In the event that some problem has happened with SourceTree due to a preference setting which shouldn't be set as it should then you may have to totally wipe your preferences.
  2. Copy the text from 'Public key for pasting' textbox and save it as 'idrsa.pub' To save the private key in the openssh format, go to Conversions-Export OpenSSH key ( if you did not define a passkey it will ask you to confirm that you do not want a pass key) Save it as 'idrsa' Now that the keys are saved.
  3. Jun 05, 2015  Stage 4 –SourceTree. In Stage 1, the SSH key was generated and set up for the Git Bash terminal, now we want to take that SSH key and use it within the SourceTree GUI. First step is to go to Tools – Create or Import SSH Key. Load your existing private key in.
  4. I use SourceTree + BitBucket combination with SSH setup on my Mac. It used to work fine. Haven't used this Mac to code for a while. Today I tried to do fetch / push, all failed with this permission denied (public key) issue. I've done some research, tried the solutions in this article https://conflu.

Please watch my short video illustrating the experience.
https://www.youtube.com/watch?v=wPUAkG78BFE&feature=youtu.be

Scenario 1:

On MacOS X Sierra when setting up SourceTree for first time and choosing 'SSH' as the authentication method, SourceTree:

  1. Should not have a URL for the Bitbucket server, should be a hostname without the https://
  2. Should not need a 'password'
  3. Generate SSH Key button is greyed out
  4. User can skip setup and perform this step manually through the Remote Repository Browser's 'Add Account' function

Scenario 2

On MacOS X Sierra when using the 'Add Account' function the experience when selecting SSH as the authentication method is:

  1. URL is asked for, should be a hostname
  2. Password is not needed
  3. User should be able to select an existing ssh key on their system
  4. Generate Key button is visible and clickable, when clicked, process continues, but no key is generated and a 'Tooltip' is displayed when account is saved indicating no SSH key
  5. When editing the account, and selecting 'Generate Key' it now works (but generates a public/private key with a 'space' in the filename (e.g. mwilde_Bitbucket Server.pub)

After putting my public key in my account on Bitbucket and trying to clone, errors are related to what is in the '.ssh/config' file this occurs.

  1. No hostname is in the '.ssh/config' file (edited by SourceTree) causing a failure on clone
  2. When hostname is added, errors occur due to 'space' in filename
  3. When '.ssh/config' is edited removing spaces and subsequently renaming the private key to match the reference in the '.ssh/config' file

After 'fixing' all of these issues, cloning only works thru the CLI, or via a 'Clone in SourceTree' link up in Bitbucket Server. Cloning does not work through the remote repository browser.

Please watch my short video illustrating the experience.
https://www.youtube.com/watch?v=wPUAkG78BFE&feature=youtu.be

Note: I have a few hundred people in my company i'd like to train on SourceTree (and have them use SSH keys if possible), so please fix this ASAP.

is cloned from

SRCTREE-4500Generating SSH Keys is broken (using Bitbucket Server) -- ui and config file

  • Closed
is duplicated by

SRCTREE-4505Generating SSH Keys is broken (using Bitbucket Server) -- ui and config file

  • Closed

Remove Ssh Key Generated By Sourcetree Address

Assignee:
Brian Ganninger (Inactive)
Reporter:
jamie goodwin
Votes:
0Vote for this issue
Watchers:
1Start watching this issue

Generate private key and certificate file for https node server. An SSH key is an access credential for the SSH (secure shell) network protocol. This authenticated and encrypted secure network protocol is used for remote communication between machines on an unsecured open network. SSH is used for remote file transfer, network management, and remote operating system access. The SSH acronym is also used to describe a set of tools used to interact with the SSH protocol.

SSH uses a pair of keys to initiate a secure handshake between remote parties. The key pair contains a public and private key. The private vs public nomenclature can be confusing as they are both called keys. It is more helpful to think of the public key as a 'lock' and the private key as the 'key'. You give the public 'lock' to remote parties to encrypt or 'lock' data. This data is then opened with the 'private' key which you hold in a secure place.

How to Create an SSH Key

SSH keys are generated through a public key cryptographic algorithm, the most common being RSA or DSA. At a very high level SSH keys are generated through a mathematical formula that takes 2 prime numbers and a random seed variable to output the public and private key. This is a one-way formula that ensures the public key can be derived from the private key but the private key cannot be derived from the public key.

SSH keys are created using a key generation tool. The SSH command line tool suite includes a keygen tool. Most git hosting providers offer guides on how to create an SSH Key.

Generate an SSH Key on Mac and Linux

Both OsX and Linux operating systems have comprehensive modern terminal applications that ship with the SSH suite installed. The process for creating an SSH key is the same between them.

1. execute the following to begin the key creation

This command will create a new SSH key using the email as a label

2. You will then be prompted to 'Enter a file in which to save the key.'
You can specify a file location or press “Enter” to accept the default file location.

3. The next prompt will ask for a secure passphrase.
A passphrase will add an additional layer of security to the SSH and will be required anytime the SSH key is used. If someone gains access to the computer that private keys are stored on, they could also gain access to any system that uses that key. Adding a passphrase to keys will prevent this scenario.

At this point, a new SSH key will have been generated at the previously specified file path.

Add Ssh Key To Sourcetree

4. Add the new SSH key to the ssh-agent

The ssh-agent is another program that is part of the SSH toolsuite. The ssh-agent is responsible for holding private keys. Think of it like a keychain. In addition to holding private keys it also brokers requests to sign SSH requests with the private keys so that private keys are never passed around unsecurly.

Before adding the new SSH key to the ssh-agent first ensure the ssh-agent is running by executing:

Once the ssh-agent is running the following command will add the new SSH key to the local SSH agent.

Remove Ssh Key Generated By Sourcetree Email

The new SSH key is now registered and ready to use!

Generate an SSH Key on Windows

Windows environments do not have a standard default unix shell. External shell programs will need to be installed for to have a complete keygen experience. The most straight forward option is to utilize Git Bash. Once Git Bash is installed the same steps for Linux and Mac can be followed within the Git Bash shell.

Windows Linux Subsystem

Modern windows environments offer a windows linux subsystem. The windows linux subsystem offers a full linux shell within a traditional windows environment. If a linux subsystem is available the same steps previously discussed for Linux and Mac can be followed with in the windows linux subsystem.

Summary

SSH keys are used to authenticate secure connections. Following this guide, you will be able to create and start using an SSH key. Git is capable of using SSH keys instead of traditional password authentication when pushing or pulling to remote repositories. Modern hosted git solutions like Bitbucket support SSH key authentication.