SourceTree на Windows: Как подключиться к SSH?
У меня есть SSH-доступ к моему веб-хостингу, он отлично работает с PuTTY (мне просто нужно было ввести свой домен, имя пользователя и пароль), однако с SourceTree это кажется намного сложнее.
В то время как PuTTY имеет поле для "имя хоста", "имя пользователя" и "пароль", SourceTree не имеет и требует специального файла ".ppk
"?!
Мне нужно подключить SourceTree к моему веб-хостингу через SSH по очевидной причине, что я хочу использовать его для отправки в удаленный репозиторий, расположенный на моем веб-сервере размещающий.
Итак, как мне получить файл .ppk
, созданный из моего домена/имени пользователя/пароля? любая помощь очень ценится!
PS: я заметил, что они сделали его исключительно легким для подключения к BitBucket, предложив два простых поля: "Имя пользователя" и "пароль", и сделали его исключительно трудным для подключения к стороннему SSH... Является ли это намеренной попыткой предотвратить конкуренцию?!
3 ответа:
Существует два способа подключения SourceTree к любому SSH.
1: Самый Простой Способ
Самый простой способ-использовать доменное имя, имя пользователя и пароль, предоставленные вашим хостинг-провайдером:
Просто используйте следующий синтаксис:
ssh://username@example.com/
- SourceTree предложит вам ввести пароль всякий раз, когда вы нажмете на этот SSH:Если вы установите флажок
Remember password
, Ваш пароль будет сохранен, и вы больше не будете получать запрос для него. Вы можете изменить или удалить сохраненный пароль позже, перейдя вTools > Options > Authentication
, как показано на рисунке ниже:Примечание: В моем случае (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
):Нет необходимости в командной строке вообще.
Мне было трудно заставить 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 выбран по умолчанию).
Затем каждый раз, когда вы запускаете SourceTree, появится запрос на пароль для расшифровки ключа id_rsa (предполагая, что вы создали его с паролем для шифрования). Это выглядит так так:
В этот момент я мог бы перейти на страницу клонирования, вставить SSH-адрес из моего проекта Gitlab (git@localgit.местный:бла / что угодно.git) и он клонировал его. Никаких дополнительных запросов на имя пользователя или пароль (так как он использует SSH-ключи).