我有一个SSH访问我的虚拟主机,它与PuTTY(我只需要input我的域名,用户名和密码)效果很好,但它似乎更复杂的SourceTree。
虽然PuTTY有“主机名”,“用户名”和“密码”字段,SourceTree不需要特殊的文件“ .ppk
”?
我需要通过SSH连接SourceTree到我的虚拟主机,原因很明显,我想用它来推送到位于我的虚拟主机的远程存储库。
那么如何获得从我的域名/用户名/密码生成的.ppk
文件? 任何帮助非常感谢!
PS:我注意到他们通过提供两个简单的字段“username”和“password”,使得连接到BitBucketexception容易,并且使得连接到第三方SSH非常困难…是否是故意的试图阻止竞争?!
有两种方法将SourceTree连接到任何SSH。
最简单的方法是使用您的虚拟主机提供商提供的域名,用户名和密码:
只需使用以下语法: ssh://username@example.com/
//username@example.com/ – 当您推送到SSH时,SourceTree会提示您输入密码:
如果您选中Remember password
复选框,您的密码将被保存,您将不会再被提示。 您可以稍后编辑或删除存储的密码,方法是转到Tools > Options > Authentication
,如下图所示:
注意:在我的情况下(1和1共享主机),用户名和密码都是我的主要FTP帐户相同。
更复杂的方法是使用私钥/公钥对:
这意味着使用“ PuTTY密钥生成器 ”(在SourceTree中转到Tools > Create or Import SSH Keys
)生成两个密钥(一个“私人”和一个“公共”)。
生成后,将私钥保存到.ppk
文件,并将其加载到SourceTree( Tools > Create or Import SSH Keys > Load
)。 还没有结束,现在您必须将公钥添加到您的服务器。 为此,请将其添加到Web服务器上的以下文件: /.ssh/authorized_keys
. /.ssh/authorized_keys
。
如果此文件不存在,请将您的公钥保存到名为authorized_keys
的文件中,并通过FTP将其上传到您的服务器。 您必须将其上传到名为/.ssh/
的根目录(如果不存在,只需创建它)。
注意:确保使用您的主机帐户的主 FTP帐户。 如果不起作用,请调整authorized_keys
文件的权限(chmod),并使用FTP软件将其设置为777
( Right-click on "authorized_keys" > File permissions
):
不需要命令行。
SourceTree使用gitlab上现有的git repo时遇到了一些麻烦。 我还必须弄清楚为什么它没有连接,因为我使用puttygen来生成密钥。
确保生成密钥后将其导出为OpenSSH格式
将该文件放在c:\ user \ MYUSERNAME.ssh文件夹中作为文件:
id_rsa是私钥文件,.pub是粘贴到其他应用程序的公钥文件,在我的例子中是gitlab。