Чтобы удобно пользоваться ssh и git на windows можно использовать pageant
, с его помощью будут иметь доступ putty
, git bash
, winscp
и phpstorm
.
Для этого нужно проделать следующее
Скачать
putty.zip
тут и распаковать весь архив куда-нибудь в укромное местечко (например:d:\Dropbox\Программы\#Portable\Putty\
).Добавляем в переменную окружения
PATH
путь до папкиPutty
.Если у вас ещё нет ключа, создаём его с помощью
PUTTYGEN.EXE
. И закидываем публичный ключ на нужные сервера в файл~/.ssh/authorized_keys
и на github.Закидываем ссылку на
PAGEANT.EXE
в автозагрузку.Запускаем
PAGEANT.EXE
.Добавляем в pageant ключ[и].
Проверяем, что putty заходит без ввода пароля на какой-нибудь сервер, где лежит ваш публичный ключ (в
~/.ssh/authorized_keys
).Скачиваем и устанавливаем
git bash
отсюда.Добавляем переменную окружения
GIT_SSH
с указанием пути доPLINK.EXE
.Открываем
git bash
, заходим в какой-нибудь репозиторий, где у вас работает ssh авторизация через ключ, и проверям, чтоgit pull
работает.WinSCP
настраивать не нужно, он подхватитpageant
сам.
Что делать, если не работает
У папки
~/.ssh
на сервере должны быть права 700, а у файла~/.ssh/authorized_keys
права 600, иначе может не пустить.Убрать из папки пользователя windows
c:\Users\Anton\.ssh\
всё кроме файлаknown_hosts
, чтобы все ключи подгружались из одного места -pageant
.Выполнить в
git bash
командуplink -ssh -P 22 git@github.com
(подставьте нужный логин@хост). Сделать это нужно для того, чтобы pageant запомнил, что это этого хоста должна использоваться авторизация с помощью ключа. Ещё, иногда это нужно, если при выполнении коннекта, например, командойgit pull
,git bash
не принимает (игнорирует, как будто ничего не было введено) вводимый в консоли ответy
при запросе требующем подтверждения типа (yes/no).Перезагрузить консоль, т. к. переменные окружения подхватываются только при старте консоли. Проверить, что они прописаны можно выполнил команды
echo $GIT_SSH
.