SourceTree на Windows: Как подключиться к SSH?


У меня есть SSH-доступ к моему веб-хостингу, он отлично работает с PuTTY (мне просто нужно было ввести свой домен, имя пользователя и пароль), однако с SourceTree это кажется намного сложнее.

В то время как PuTTY имеет поле для "имя хоста", "имя пользователя" и "пароль", SourceTree не имеет и требует специального файла ".ppk"?!

Мне нужно подключить SourceTree к моему веб-хостингу через SSH по очевидной причине, что я хочу использовать его для отправки в удаленный репозиторий, расположенный на моем веб-сервере размещающий.

Итак, как мне получить файл .ppk, созданный из моего домена/имени пользователя/пароля? любая помощь очень ценится!

PS: я заметил, что они сделали его исключительно легким для подключения к BitBucket, предложив два простых поля: "Имя пользователя" и "пароль", и сделали его исключительно трудным для подключения к стороннему SSH... Является ли это намеренной попыткой предотвратить конкуренцию?!

3 23

3 ответа:

Существует два способа подключения SourceTree к любому SSH.

1: Самый Простой Способ

Самый простой способ-использовать доменное имя, имя пользователя и пароль, предоставленные вашим хостинг-провайдером:

Просто используйте следующий синтаксис: ssh://username@example.com/ - SourceTree предложит вам ввести пароль всякий раз, когда вы нажмете на этот SSH:

Программа СШ запрос пароля

Если вы установите флажок Remember password, Ваш пароль будет сохранен, и вы больше не будете получать запрос для него. Вы можете изменить или удалить сохраненный пароль позже, перейдя в Tools > Options > Authentication, как показано на рисунке ниже:

Панель Аутентификации SourceTree Windows

Примечание: В моем случае (1&1 Shared Hosting) имя пользователя и пароль совпадали с моей основной учетной записью FTP.

2: Более Сложный Путь

Более сложный способ заключается в использовании пары приватных / открытых ключей:

Это подразумевает генерацию двух ключей (один "частный" и один "открытый") с помощью " ключа PuTTY Generator " (в SourceTree перейдите к Tools > Create or Import SSH Keys).

После создания сохраните закрытый ключ в файл .ppk и загрузите его в SourceTree (Tools > Create or Import SSH Keys > Load). Это еще не конец: теперь вы должны добавить открытый ключ к вашему серверу. Для этого добавьте его в следующий файл на вашем веб-сервере: /.ssh/authorized_keys.

Если этот файл не существует, сохраните открытый ключ в файле с именем authorized_keys и загрузите его на сервер через FTP. Вы должны загрузить его в каталог с именем /.ssh/, расположенный в корне (если он не существует, просто создайте его).

Примечание: обязательно используйтеглавную FTP-учетную запись вашего хостинга. Если это не работает, измените разрешения (chmod) файла authorized_keys и установите его в 777 с помощью вашего программного обеспечения FTP (Right-click on "authorized_keys" > File permissions):

FileZilla FTP клиент изменение прав доступа к файлам

Ftp-клиент FileZilla на Windows-Set chmod

Нет необходимости в командной строке вообще.

Мне было трудно заставить SourceTree работать с существующим РЕПО git, которое находилось на gitlab. Я также должен был выяснить, почему он не подключается, поскольку я использовал puttygen для генерации ключей.

Убедитесь, что после создания ключей вы экспортируете их в формат OpenSSH

Введите описание изображения здесь

Вы помещаете этот файл в свой c:\user\MYUSERNAME.ssh папка как файл:

  • id_rsa
  • id_rsa.паб

Id_rsa является частным ключевой файл И.pub-это файл с открытым ключом, который вы вставляете в другое приложение, которое в моем случае было gitlab.

Я должен был сделать некоторую дополнительную работу из ответа Патоши.

В Tools > Options > General > SSH Client Configuration мне пришлось указать на ключ id_rsa и выбрать OpenSSH в качестве SSH-клиента (Putty/PLink выбран по умолчанию). Конфигурация клиента SSH

Затем каждый раз, когда вы запускаете SourceTree, появится запрос на пароль для расшифровки ключа id_rsa (предполагая, что вы создали его с паролем для шифрования). Это выглядит так так: запрос парольной фразы

В этот момент я мог бы перейти на страницу клонирования, вставить SSH-адрес из моего проекта Gitlab (git@localgit.местный:бла / что угодно.git) и он клонировал его. Никаких дополнительных запросов на имя пользователя или пароль (так как он использует SSH-ключи).