Подтвердить что ты не робот

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

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

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

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

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

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

4b9b3361

Ответ 1

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

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

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

Просто используйте следующий синтаксис: ssh://[email protected]/ - SourceTree затем предложит вам ввести пароль всякий раз, когда вы нажимаете на этот SSH:

SourceTree SSH Password Prompt

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

SourceTree Windows Authentication Panel

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

2: более сложный путь

Более сложным способом является использование пары Private/Public Keys:

Это подразумевает создание двух ключей (один "private" и один "общедоступный" ) с использованием "Генератора ключей PuTTY" (в 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 Client Change File Permissions

FileZilla FTP Client on Windows - Set chmod

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

Ответ 2

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

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

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

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

  • id_rsa
  • id_rsa.pub

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

Ответ 3

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

В меню "Сервис" > "Параметры" > "Общие" > "Конфигурация клиента SSH" мне пришлось указать его на ключ id_rsa и выбрать OpenSSH в качестве клиента SSH (по умолчанию выбран Putty/PLink). Конфигурация клиента SSH

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

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