Как сообщить Git для Windows, где можно найти свой закрытый ключ RSA?

Моя настройка GIT отлично работает в Linux, но когда я пытаюсь настроить вещи под Windows (используя Git для Windows и TortoiseGit), я не знаю, где разместить свой закрытый ключ ssh (или, еще лучше, как скажите ssh, где он находится). Я использую стандартный параметр ssh.exe во время установки Git для Windows. Настройка выполняется нормально, если я разрешаю аутентификацию паролем (вместо rsa) на сервере.

450 голосов | спросил binaryorganic 25 +04002010-10-25T20:45:39+04:00312010bEurope/MoscowMon, 25 Oct 2010 20:45:39 +0400 2010, 20:45:39

30 ответов


441

Для Git Bash

Если вы используете msysgit (я предполагаю, что вы) и хотите запустить Git Bash (я рекомендую его по TortoiseGit, но теперь я наклоняюсь к CLI больше, чем GUI), вам нужно выяснить, что ваш домашний каталог для Git Bash, запустив его, введите pwd (On Win7, это будет что-то вроде C:\Users\phsr, я думаю). Пока вы находитесь в git bash, вы должны mkdir .ssh.

После того, как у вас есть домашний каталог и папка .ssh, вы хотите открыть PuTTYgen и открыть файл (.ppk), который вы создали ранее. Когда ваш ключ открыт, вы хотите выбрать Conversions -> Export OpenSSH key и сохраните его в HOME\.ssh\id_rsa. После того, как у вас есть ключ в этом месте, Git bash распознает ключ и использует его.

Примечание. Комментарии показывают, что это не работает во всех случаях. Вам может потребоваться скопировать ключ OpenSSH в Program Files\Git\.ssh\id_rsa (или Program Files (x86)\Git\.ssh\id_rsa).

Для TortoiseGit

При использовании TortoiseGit вам нужно установить ключ SSH с помощью . Вам нужно сделать это для каждого репозитория, с которым вы используете TortoiseGit с

ответил Dan McClain 5 52010vEurope/Moscow11bEurope/MoscowFri, 05 Nov 2010 20:18:19 +0300 2010, 20:18:19
98

Используя встроенный клиент SSH, поставляемый с Git для Windows, вам необходимо настроить переменную среды HOME, чтобы клиент Git SSH мог найти ключ.

Например, при установке Windows Vista ​​em> это можно сделать, выпустив setx HOME c: \ Users \ admin \ в командной строке.

Сделал мой день и исправил проблему с Git при условии, что ваш закрытый ключ не защищен паролем. Если вы хотите использовать ssh-agent, вы можете запустить ssh-agent cmd.exe (хотя я этого никогда не делал) и ssh-add, как обычно.

Обратите внимание, что все инструменты Git /SSH должны запускаться из cmd.exe, чтобы не было blink .

Если это не работает правильно, использование plink может быть достигнуто путем настройки GIT_SSH . Обратитесь ко всем учебным пособиям svn + ssh, это в основном та же самая сантехника, которую вам нужно настроить.

ответил Oct 5 52010vEurope/Moscow11bEurope/MoscowFri, 05 Nov 2010 21:24:53 +0300 2010, 21:24:53
48

Вы можете указать местоположение ключа для Tortoisegit следующим образом:

  • Откройте окно проводника.
  • Откройте контекстное меню и выберите TortoiseGit> Settings
  • В открывшемся окне Перейдите к Git> Remote
  • Задайте путь к ключу Putty в соответствующем поле ввода.

Снимок экрана ниже:

введите описание изображения здесь>> </p></body></html>

ответил pacey 5 52010vEurope/Moscow11bEurope/MoscowFri, 05 Nov 2010 17:07:17 +0300 2010, 17:07:17
45

Ни один из ответов выше не работал для меня. Вот что сработало для меня в конце. На самом деле это довольно просто, если вы знаете, что вводить. Он не нуждается в шпаклере.

  • открыть приглашение git bash
  • тип 'ssh-keygen'
    • принять местоположение по умолчанию
    • выберите пустую кодовую фразу (так что просто нажмите «войти» во все вопросы »)
  • теперь копируем на ваш сервер, например: scp ~ /.ssh /id_rsa.pub [email protected]: ~

Это бит на вашем собственном компьютере. Теперь ssh на целевой сервер, затем выполните

mkdir -p ~/.ssh
cd ~/.ssh
cat ../id_rsa.pub >> authorized_keys
rm ../id_rsa.pub

Вот и все! Все готово! Из git bash выполните следующие действия:

ssh [email protected] ls

Если он перечисляет файлы в вашем домашнем каталоге на сервере git, то все готово!

Изменить: для github у вас нет доступа к оболочке на свой сервер, но вы можете загрузить ключ с помощью своего веб-сайта, поэтому для бит «теперь скопируйте на свой сервер» выполните:

  • в git bash, введите 'cat ~ /.ssh /id_rsa.pub', выберите результат и скопируйте его в буфер обмена
  • На веб-сайте github перейдите в «Настройки учетной записи», «ssh keys», нажмите «Добавить ssh-ключ» и вставьте ключ
ответил Hugh Perkins 25 AMpWed, 25 Apr 2012 05:32:58 +040032Wednesday 2012, 05:32:58
32

Если вы используете msysgit с инструментами OpenSSH, вам нужно либо создать ~/.ssh/id_rsa, либо создать конфигурацию git в ~/.ssh/config, который указывает на ваш ключ.

Вот пример конфигурации Git для BitBucket, которая будет использовать правильное имя пользователя и ключ, отличный от ключа по умолчанию (в случае, если вы поддерживаете один ключ для соединений SSH, а другой для учетных записей git).

~ /.ssh /конфигурации

Host bitbucket.org
    Hostname bitbucket.org
    User git
    IdentityFile /C/keys/yourkey.key

В режиме git bash вы можете запустить две команды, чтобы добавить свой ключ к ssh-агенту текущего сеанса, чтобы избежать повторного ввода пароля ключа.

eval `ssh-agent`
ssh-add /C/keys/yourkey.key
ответил GregB 11 AMpThu, 11 Apr 2013 10:34:29 +040034Thursday 2013, 10:34:29
14

Я просто установил% HOME% =% HOMEPATH%

Это имеет преимущество в работе для всех пользователей, зарегистрированных в системе (каждый из них получает отдельные папки .ssh).

В Vista:

  1. Щелкните правой кнопкой мыши на компьютере
  2. Выберите «Свойства»
  3. Нажмите «Дополнительные параметры системы»
  4. Нажмите «Переменные среды»
  5. В нижней части (Системные переменные) Нажмите «Создать»
  6. Для типа имени переменной: HOME
  7. Для типа пути переменной:% HOMEPATH%
  8. Нажмите «ОК»
ответил Jono 12 +04002012-10-12T05:26:17+04:00312012bEurope/MoscowFri, 12 Oct 2012 05:26:17 +0400 2012, 05:26:17
7

Ваш частный ключ должен быть добавлен к агенту SSH на вашей рабочей станции. Как вы это достигаете, может зависеть от того, какой клиент git вы используете, однако PUTTY и связанный с ним агент (конкурс) могут сделать трюк для вас, вот ссылка на официальные двоичные файлы и источник:

http://www.chiark.greenend.org. ик /~ sgtatham /шпатлевка /download.html

ответил Declan Shanaghy 25 +04002010-10-25T21:38:09+04:00312010bEurope/MoscowMon, 25 Oct 2010 21:38:09 +0400 2010, 21:38:09
5

Oke, я смотрю на sugestion

Но размещение в моих личных ssh-ключах в общей папке я не был хорошей идеей, поэтому я начал искать, где находится известный хост.

Итак, если вы хотите правильно защитить свой ssh-ключ, вам нужно поместить свой ключ в следующий каталог для Windows 7,8 и 8.1 32-бит в

  

C: \ Users \\ AppData \ Local \ VirtualStore \ Program Files \ Git \

для Windows 7,8 и 8.1 64-бит в

  

C: \ Users \\ AppData \ Local \ VirtualStore \ Program Files (x86) \ Git \

Я надеюсь, что это поможет некоторым из вас

ответил Bas van den Dikkenberg 8 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 08 Sep 2014 14:04:30 +0400 2014, 14:04:30
5

В моем случае я использовал Git для окон в контейнере docker widowsservercore

Мой git был установлен с помощью chochcolately в C:\Program Files\Git

Мне пришлось обновить этот файл: C:\Program Files\Git\etc\ssh\ssh_config

с этим:

Host example.com
   Identityfile ~/.ssh/id_rsa

Затем я мог использовать ключ из C:\Users\<user>\.ssh\id_rsa

Обновление : Я бы добавил еще одну деталь, если вы используете git для окон вместе с openSSH для окон. git по-прежнему использует собственный ssh.
Плюс, если вы планируете использовать ssh-keyscan host.com > known_hosts из openSSH быть осторожным, потому что вывод из stdout из keyscan (на окнах) изменяет encoding to UCS-2, но openSSH может читать только utf-8! Поэтому обязательно измените кодировку файла known_hosts.

ответил oglop 2 42017vEurope/Moscow11bEurope/MoscowThu, 02 Nov 2017 18:27:47 +0300 2017, 18:27:47
3

При смешивании GitHub для Windows и Git GUI для Windows вы можете столкнуться с проблемами, когда Git GUI продолжает запрашивать имя пользователя и пароль. Исключение из этого - изменить удаленный URL-адрес с https: (что и создает GitHub для Windows) на git-протокол. В каталоге .git в файле конфигурации найдите

[remote "origin"]
   url = https://github.com/**username**/**reponame**.git
   fetch = +refs/heads/*:refs/remotes/origin/*

измените на

[remote "origin"]
    url = [email protected]:**username**/**reponame**.git
    fetch = +refs/heads/*:refs/remotes/origin/*
ответил IDisposable 5 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 05 Sep 2014 02:34:49 +0400 2014, 02:34:49
2

У меня были подобные проблемы, и ни один из ответов здесь не разрешил проблему. Оказывается, моя ключевая пара была первоначально сгенерирована с пустой кодовой фразой. (Я знаю, немой)

Как только я создал новую пару ключей и загрузил открытый ключ в github, все снова заработало.

ответил Eric Cloninger 1 FebruaryEurope/MoscowbFri, 01 Feb 2013 03:15:21 +0400000000amFri, 01 Feb 2013 03:15:21 +040013 2013, 03:15:21
1

Следующий ответ также относится к этому вопросу при запуске ssh из учетной записи службы Windows: Дженкинс (служба Windows) с Git over SSH

ответил Alexander Pacha 27 +04002012-10-27T11:31:16+04:00312012bEurope/MoscowSat, 27 Oct 2012 11:31:16 +0400 2012, 11:31:16
1

Вы можете указать как путь к ключу, так и имя файла ключа, например (на ubuntu). Например:

ssh -i /home/joe/.ssh/eui_rsa
ответил jim 15 ThuEurope/Moscow2011-12-15T20:44:07+04:00Europe/Moscow12bEurope/MoscowThu, 15 Dec 2011 20:44:07 +0400 2011, 20:44:07
1

Я изначально разместил это как комментарий, но кто-то предложил мне опубликовать его как правильный ответ.

Pageant (агент SSH, поставляемый с пустым пакетом PuTTY ) решает проблему для меня.

У меня есть ярлык в папке запуска Start Menu (C:\Users\owen.blacker\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup), указывающей на "C:\Program Files (x86)\PuTTY\pageant.exe" "C:\Users\owen.blacker\Documents\SSH\OwenBlackerPersonal.ppk" "C:\Users\owen.blacker\Documents\SSH\OwenBlackerWork.ppk", так что он загружает мои SSH-ключи при запуске, и это делает GIT« просто работать »: o)

ответил Owen Blacker 12 ThuEurope/Moscow2013-12-12T16:29:31+04:00Europe/Moscow12bEurope/MoscowThu, 12 Dec 2013 16:29:31 +0400 2013, 16:29:31
1

Самый эффективный способ - использовать Pageant, потому что он позволит вам вводить кодовую фразу только один раз в начале сеанса вместо каждого нажатия. Все ответы здесь были слишком короткими, поэтому я опубликую здесь подробное руководство:

  1. Загрузите pageant.exe, puttygen.exe, putty.exe и plink.exe с сайта Putty , поместите их в каталог C:\puttyTools.
  2. Запустите puttygen.exe.
  3. Нажмите кнопку «Создать».
  4. В верхней части окна покачивается указатель мыши, пока индикатор выполнения не будет заполнен, как запросит программа.
  5. Предоставьте кодовую фразу и повторите ее в следующем текстовом поле.
  6. Нажмите «Сохранить закрытый ключ». Обычным каталогом для их сохранения является %USERPROFILE%\_ssh (на моем компьютере это сопоставляется с C:\Users\andres\.ssh\). Неважно, что вы называете ключом, но для демонстрационных целей я назову его github.ppk. Этот файл должен иметь расширение .ppk.
  7. Скопируйте текст в верхнем текстовом поле в PuTTYgen, который обозначен как Public key for pasting into OpenSSH authorized_keys file и вставьте его в новый ключ SSH в настройках Github. Дайте ему название, которое описывает, на какой машине находится ключ (например, «Рабочий ноутбук»).
  8. Запустите pageant.exe, появится новый значок systray.
  9. Щелкните правой кнопкой мыши значок -> Добавить ключ.
  10. Найдите ваш ppk-файл, введите свою фразу.
  11. Создайте эти новые переменные пользовательской среды (через приложение app Environ через WindowsMenu, которое найдет Edit environment variables for your account): GIT_SSH = "C:\puttyTools\plink.exe" и SVN_SSH = "C:\puttyTools\PuTTY\plink.exe"
  12. Откройте putty.exe и попробуйте подключиться к хосту, на котором размещены ваши репозитории git, например, попробуйте подключиться к github.com через SSH, и в диалоговом окне вы спросите, принимаете ли вы отпечаток на сервере: нажмите ДА.
  13. Запустите новый экземпляр вашей консоли MINGW64 git, убедитесь, что переменные среды находятся там, написав команду env | grep -i ssh.
  14. Вы должны быть настроены, попробуйте клонировать протокол git + ssh с вашего хоста.

(Первоначально извлеченный из этих двух руководств, которые я объединил в одном: https: //gist.github.com/dmangiarelli/1a0ae107aaa5c478c51e#ssh-setup , https://rperki.blogspot.hk/2014/09/configure-mingw-w64msys-to-use-putty.html )

ответил knocte 15 Maypm17 2017, 13:57:02
0

Прочитав свой комментарий к ответу Declan, сначала попробуйте открыть командную строку (Start -> Run -> cmd), а затем перейдите к этой папке git /bin и запустите ssh-keygen. Теоретически это создаст ключ RSA и поместит его в соответствующий каталог. Тогда вам просто нужно найти его и поделиться своим открытым ключом с миром.

Причина, по которой окно «мигает», заключается в том, что окна запускают программу, и когда она выполняется, она закрывает командную строку, думая, что с ней все закончилось, когда вам действительно нужен выход.

Надеюсь, что это поможет!

ответил rublind 5 52010vEurope/Moscow11bEurope/MoscowFri, 05 Nov 2010 05:04:14 +0300 2010, 05:04:14
0

Использование Git Gui в Windows v0.17 Я нажал на следующие команды меню

  

Справка> Показать ключ SSH

Появилось диалоговое окно под названием Открытый открытый ключ OpenSSH . Я сгенерировал ключ и скопировал его в буфер обмена. Затем я продолжал следовать инструкциям setup-ssh на githelp от Шаг третий и далее. Впоследствии Гит Гуй молча общался с Гитубом - не нужно вводить никаких учетных данных.

ответил snow6oy 7 J0000006Europe/Moscow 2014, 14:11:29
0

В моей системе Windows 7 GitGui ищет ключ RSA в папке userprofile /.ssh или, более конкретно, c: /users/yourusername/.ssh /

Трудная часть моей настройки заключалась в том, что хост-хозяин хоста принимал ключ. Единственным способом, с помощью которого я мог работать, было использование GitGui для создания пар ключей (без пароля), а затем копирование и вставка открытого ключа через панель управления, ssh, управление ключами.

Чтобы начать с самого начала, вам нужно создать ключи в GitGui, перейдя в раздел «Справка», «Показать SSH», затем «Генерировать ключ». Теперь у вас будет два новых ключа в каталоге .ssh. Откройте файл .pub и скопируйте содержимое. Войдите в свою панель управления на общем хосте и войдите в ssh, управляйте ключами ssh, импортируйте ключ. Вставьте в поле «Публикация» и убедитесь, что вы назовете его правильным именем без расширения - мой был id_rsa. Теперь вы должны авторизовать ключ, используя ссылку авторизации управления, поэтому он будет конкатенироваться в файле authorized_keys.

Теперь ваш GitGui и ваш GitBash должны иметь возможность нажать с помощью ssh без ввода пароля. Как ни странно, я смог нажать ssh с помощью git bash и git gui на моих собственных серверах, работающих под управлением Linux, это был просто общий хостинг, который давал мне возможность. Надеюсь, это помогает кому-то, поскольку мне потребовалось много времени и ошибок, чтобы придумать это - и это так просто!

ответил user228414 28 J0000006Europe/Moscow 2014, 21:55:23
0

Если вы находитесь в Windows 7/8, вы должны посмотреть в C: \ Users \ Your_User_Name.ssh Просто скопируйте & вставьте здесь свой файл id_rsa, и все будет готово к работе.

ответил eeree 21 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 21 Sep 2014 04:13:16 +0400 2014, 04:13:16
0

Стандартное расположение файлов находится в %USERPROFILE%\.ssh

%USERPROFILE% эквивалентен $ HOME в Unix. (обычно соответствует чему-то вроде c:\users\youruserid)

Если вы используете инструменты ssh, которые поставляются с git, которые являются стандартными инструментами командной строки в стиле командной строки, вы можете использовать что-то вроде мой скрипт здесь для работы с ssh-agent во всех оболочках.

ответил Eric Blade 14 52014vEurope/Moscow11bEurope/MoscowFri, 14 Nov 2014 07:47:55 +0300 2014, 07:47:55
0

Если вы используете командную строку Git для Windows, вы можете сделать следующее:

Откройте cmd.exe и выполните setx HOME c:\PATH_TO_PRIVATE_KEY

Создайте новую папку .ssh (если не существует) внутри c:\PATH_TO_PRIVATE_KEY и скопируйте файл id_rsa (ваш закрытый ключ) в он.

Готово, теперь вы можете использовать git commanline обычно

ответил duccom 11 MarpmWed, 11 Mar 2015 13:17:52 +03002015-03-11T13:17:52+03:0001 2015, 13:17:52
0

Одна ошибка, которую я совершил при использовании SSH в Windows, заключалась в том, что когда я пытался использовать ключи через клиент Git Bash, все файлы в ~ /.ssh были неправильными разрешениями, но они не пытались сказать мне, что это была проблема.

Как тест, убедитесь, что вы установили все в свой каталог ~ /.ssh в chmod 600.

ответил Spedge 14 +03002015-10-14T16:04:43+03:00312015bEurope/MoscowWed, 14 Oct 2015 16:04:43 +0300 2015, 16:04:43
0

Если у вас есть необходимые разрешения на компьютере Windows, и ваши политики позволяют это, я бы предложил установить Cygwin ( https: //cygwin.com/), особенно учитывая, что у вас есть предыдущий опыт работы с Linux. Cygwin позволит обрабатывать ваши ssh-ключи, как на любой другой машине Linux /Unix. И он обеспечивает доступ почти ко всем инструментам cli для Linux.

ответил torbenl 7 Jpm1000000pmThu, 07 Jan 2016 13:57:47 +030016 2016, 13:57:47
0

Вы также можете загрузить Putty Agent (pageant) и добавить закрытый ключ, созданный с помощью Putty для сервера.

Git распознает это и использует это для push /pull.

ответил deepakkt 27 Mayam16 2016, 08:07:52
0

Мой msysgit . Опыт OpenSSL /Bash GIT (а не плагин Putty) заключается в том, что порядок поиска для вашей папки .ssh/ выглядит следующим образом.

  1. %HOME%/.ssh/
  2. %HOMEDRIVE%%HOMEPATH%/.ssh/
  3. %USERPROFILE%/.ssh/

Поэтому почему многие люди предлагают установить HOME, если один из других не является тем, что вы ожидаете. Что еще более важно, вы можете проверить сами, отлаживать использование ssh -v на сервере, который использует аутентификацию публики следующим образом:

$ ssh -v [email protected]
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /d/.ssh/config
...
debug1: identity file /d/.ssh/identity type -1
debug1: identity file /d/.ssh/id_rsa type 1
debug1: identity file /d/.ssh/id_dsa type -1
...
debug1: Next authentication method: publickey
debug1: Trying private key: /d/.ssh/identity
debug1: Offering public key: /d/.ssh/id_rsa
..
Hi kcd83! You've successfully authenticated, but GitHub does not provide shell access.

Извините за добавление еще одного ответа, но мы нашли ssh-поиск в неясном драйвере, и ни один из ответов не объяснил, что мы видели.

Иногда %HOMEDRIVE%%HOMEPATH% является подключенным сетевым диском (например, H:/), который вызывает ненужные сбои при возникновении проблем с сетью /файловым сервером, даже если % USERPROFILE% /. ssh является %USERPROFILE%/.ssh и имеет ключи локально. Установка C:/Users/Username/.ssh на %HOME% останавливает его, глядя на удаленный домашний диск.

ответил KCD 21 MonEurope/Moscow2015-12-21T01:37:11+03:00Europe/Moscow12bEurope/MoscowMon, 21 Dec 2015 01:37:11 +0300 2015, 01:37:11
0

TortoiseGit позволяет указать ключ для использования при клонировании репозитория. Просто проверьте «Load Putty Key» и перейдите к файлу .ppk, как на скриншоте: https://i.stack.imgur.com/lAyzT.png

ответил NGNeer 13 TueEurope/Moscow2016-12-13T20:13:05+03:00Europe/Moscow12bEurope/MoscowTue, 13 Dec 2016 20:13:05 +0300 2016, 20:13:05
0

Я исправил вышеупомянутую проблему, создав

  

~ /.ssh /конфигурации

и поместите:

IdentityFile C:\Users\adria\.ssh\mysshkey
ответил Adrian Onu 28 WedEurope/Moscow2016-12-28T16:26:51+03:00Europe/Moscow12bEurope/MoscowWed, 28 Dec 2016 16:26:51 +0300 2016, 16:26:51
0

Я использовал TortoiseGit, а также git bash на Windows, в зависимости от необходимости. Я добавил все в TortoiseGit, и он работал нормально, но git bash не собирал его, даже если ключи находились в правильном каталоге. Оказывается, я должен был сделать это из git bash:

ssh-add C:\\Users\\<YOUR_USER>\\.ssh\\id_rsa

Вы можете, конечно, изменить путь к тому месту, где находится ваш ключ, не забывая использовать \\ в качестве разделителя.

ответил Vlad Schnakovszki 9 Maypm17 2017, 16:44:03
0

, если вы используете git для окон, когда сгенерированы ssh-ключи,

u должен добавить ваш SSH-ключ в ssh-agent

ответил Matoeil 13 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 13 Sep 2017 18:03:30 +0300 2017, 18:03:30
0

Используя Windows 10, я не смог заставить сгенерированный скрипт ssh работать (по крайней мере для git в командной строке, используя SourceTree, у меня не было проблемы) при запуске:

git push origin master

Итак, мое решение:

  1. Я открыл «Git Bash»
  2. Ран

    SSH-кейген

  3. Теперь существуют подтвержденные ключи

    ls ~ /.ssh

  4. Открыл id_rsa.pub в Notepad ++, выбрал все содержимое

  5. Добавлен новый ключ в битбакет https://bitbucket.org /счет /пользователь /MyUserName /SSH-ключи /

  6. Маркированное и вставленное содержимое в ключевое поле -> Добавить ключ

После этой командной строки git работал, кажется, что он хочет старый формат PEM, потому что, если я попытаюсь импортировать этот ключ в pageant, он говорит так же

ответил HostMyBus 11 MonEurope/Moscow2017-12-11T17:24:22+03:00Europe/Moscow12bEurope/MoscowMon, 11 Dec 2017 17:24:22 +0300 2017, 17:24:22

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132