Чтобы удобно пользоваться 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.