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

Com*_*ity 27 windows git ssh putty atlassian-sourcetree

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

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

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

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

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

Com*_*ity 24

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

1:最简单的方法

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

只需使用以下语法:ssh://username@example.com/- 每当您推送到SSH时,SourceTree将提示您输入密码:

SourceTree SSH密码提示

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

SourceTree Windows身份验证面板

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

2:更复杂的方式

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

这意味着使用" 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帐户.如果它不起作用,请调整文件的权限(chmod)authorized_keys并将其设置为777使用FTP软件(Right-click on "authorized_keys" > File permissions):

FileZilla FTP客户端更改文件权限

Windows上的FileZilla FTP客户端 - 设置chmod

无需任何命令行.

  • 我在哪里输入?SSH://username@example.com/ (3认同)
  • @OZZIE在`Repository`>`Repository Settings`>`Add`>`URL/Path`下 (2认同)

Ans*_*sss 9

我不得不从Patoshi的回答做一些额外的工作.

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

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

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


Pat*_*パトシ 8

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

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

在此输入图像描述

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

  • id_rsa
  • id_rsa.pub

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