Windows上的SourceTree:如何连接到SSH?

问题描述 投票:24回答:3

我有一个SSH访问我的网络托管,它适用于PuTTY(我只需要输入我的域名,用户名和密码),但是使用SourceTree似乎更复杂。

虽然PuTTY有一个“主机名”,“用户名”和“密码”字段,但SourceTree不需要特殊文件“.ppk”?!

我需要通过SSH将SourceTree连接到我的网络托管,原因很明显,我想用它来推送到我的网络托管上的远程存储库。

那么如何从我的域/用户名/密码中获取生成的.ppk文件?任何帮助非常感谢!

PS:我注意到他们通过提供两个简单的字段(“用户名”和“密码”)非常容易地连接到BitBucket,并且使连接到第三方SSH非常困难...这是故意的吗?试图阻止竞争?!

windows git ssh putty atlassian-sourcetree
3个回答
24
投票

将SourceTree连接到任何SSH有两种方法。

1:最简单的方法

最简单的方法是使用您的虚拟主机提供商提供的域名,用户名和密码:

只需使用以下语法:ssh://[email protected]/ - 每当您推送到SSH时,SourceTree将提示您输入密码:

如果您选中Remember password复选框,则会保存您的密码,系统不会再次提示您输入密码。您可以稍后通过Tools > Options > Authentication编辑或删除存储的密码,如下图所示:

注意:在我的情况下(1和1共享主机),用户名和密码都与我的主FTP帐户相同。

2: The More Complex Way

更复杂的方法是使用私钥/公钥对:

这意味着使用“PuTTY Key Generator”生成两个键(一个“私有”和一个“public”)(在SourceTree中转到Tools > Create or Import SSH Keys)。

生成后,将私钥保存到.ppk文件并将其加载到SourceTree(Tools > Create or Import SSH Keys > Load)中。它尚未结束:现在您必须将公钥添加到您的服务器。为此,请将其添加到Web服务器上的以下文件中:/.ssh/authorized_keys

如果此文件不存在,请将公钥保存到名为authorized_keys的文件中,并通过FTP将其上载到服务器。您必须将其上传到位于根目录的名为/.ssh/的目录中(如果它不存在,只需创建它)。

注意:确保使用主机帐户的主FTP帐户。如果它不起作用,请调整authorized_keys文件的权限(chmod)并使用您的FTP软件(777)将其设置为Right-click on "authorized_keys" > File permissions

无需任何命令行。


8
投票

我不得不从Patoshi's answer做一些额外的工作。

在工具>选项>常规> SSH客户端配置中,我必须将其指向id_rsa密钥,并选择OpenSSH作为SSH客户端(默认情况下选择Putty / PLink)。 SSH Client Configuration

然后每次启动SourceTree时,都会出现一个提示,要求密码短语解密id_rsa密钥(假设您使用密码创建密码来加密它)。这看起来像这样:passphrase prompt

那时,我可以进入克隆页面,从我的Gitlab项目粘贴SSH地址([email protected]:Blah / Whatever.git)并克隆它。没有额外的用户名或密码提示(因为它使用SSH密钥)。


7
投票

我在使用存在于gitlab上的现有git repo时使用SourceTree时遇到了一些麻烦。我还必须弄清楚为什么它没有连接,因为我使用puttygen来生成密钥。

生成密钥后,请确保将其导出为OpenSSH格式

enter image description here

您将此文件作为文件放在c:\ user \ MYUSERNAME.ssh文件夹中:

  • id_rsa
  • ID_RSA.普遍

id_rsa是私钥文件,.pub是你粘贴到其他应用程序的公钥文件,在我的例子中是gitlab。

© www.soinside.com 2019 - 2024. All rights reserved.