Главная | Контакты | Настройки СМЕНИТЬ ПАЛИТРУ:

Главная > Программы

MINGW

Настройка SSH

Установка SSH (secure shell) для git

При использовании протокола https при каждом подключении к Bitbacket требуется авторизация (например, при выполнении команды git push).
Чтобы не вводить пароль каждый раз создается ключ SSH и прописывается в настройках пользователя Bitbacket.

* Инструкция

Шаг 1. Проверить, что установлен клиент SSH
Можно проверить из GitBash (клиент SSH встроен в GitBash)
Если клиент SSH установлен, то результатом ввода команды <ssh -v> будет информация о версии.

a.polischuk@polischuk-a MINGW64 /

# ssh -v
usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I pkcs11] [-i identity_file]
           [-L address] [-l login_name] [-m mac_spec]
           [-O ctl_cmd] [-o option] [-p port]
           [-Q cipher | cipher-auth | mac | kex | key]
           [-R address] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] [user@]hostname [command]

Шаг 2. Установить аутентификацию по-умолчанию

* запустить GitBash * ввести команду <ssh-keygen>
* не указывать путь для сохранения ключа. По-умолчанию файлы будут созданы в "~/.ssh"

# ssh-keygen.exe
		Generating public/private rsa key pair.
		Enter file in which to save the key (/c/Users/a.polischuk//.ssh/id_rsa): anatolean4bitbucket
		Enter passphrase (empty for no passphrase):
		Enter same passphrase again:
		Your identification has been saved in anatolean4bitbucket.
		Your public key has been saved in anatolean4bitbucket.pub.
		The key fingerprint is:
		SHA256:csep7ze8mibnRnJ/W1Nj1Tk2ucs84Il72qvAX0nxZ/E a.polischuk@polischuk-a
		The key''s randomart image is:
		+---[RSA 2048]----+
		|                 |
		|                +|
		|             . Bo|
		|         . .  + B|
		|      . S +  o =E|
		|       oooo + B.=|
		|        .* + = *.|
		|        ..*.O...o|
		|         B*B=*o. |
		+----[SHA256]-----+

* проверить созданные файлы

# ls ~/.ssh
	id_rsa id_rsa.pub

Шаг 3. Создание конфигурационного файла для SSH * создать файл ~/.ssh/config
* заполнить файл

# Host bitbucket.org
 IdentityFile ~/.ssh/id_rsa

Вторая строка должна отстоять от первой ровно на один пробел!!!

* сохранить и закрыть файл
* перезапустить GitBash

Шаг 4. Обновление файла настроек .bashrc Для того, чтобы ssh-служба запускалась при каждом старте GitBash внести следующие изменения в файл .bashrc

SSH_ENV=$HOME/.ssh/environment

# start the ssh-agent
function start_agent {
    echo "Initializing new SSH agent..."
    # spawn ssh-agent
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
    echo succeeded
    chmod 600 "${SSH_ENV}"
    . "${SSH_ENV}" > /dev/null
    /usr/bin/ssh-add
}

if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
	 ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
	    start_agent;
	}
else
    start_agent;
fi

"

Если файл .bashrc отсутствует, то создать руками в домашней директории пользователя (/c/users/a.polischuk)
* сохранить и закрыть файл
* перезапустить GitBash
* при старте ssh-агента будет зарегистрирован личный ssh-ключ. Если была введена контрольная фраза при создании личного ключа, то система попросит ввести этот ключ
* проверить регистрацию ключа

# ssh-add -l
	2048 0f:37:21:af:1b:31:d5:cd:65:58:b2:68:4a:ba:a2:46 /Users/manthony/.ssh/id_rsa (RSA)

После установки публичного ключа на bitbucket наличие скрипта аутентификации избавит от необходимости указывать каждый раз пароль.

Шаг 5. Установка публичного ключа в профиле bitbucket
* открыть настройки пользователя через <avatar-bitbucket settings>
* нажать на <SSH keys>
* в терминале GitBash отобразить содержимое файла публичного ключа

# cat ~/.ssh/id_rsa.pub

* выделить и скопировать в буфер памяти содержимое файла публичного ключа
* вернуться в браузер и указать заголовок нового ключа, например <Default publik key>
* вставить содержимое буфера памяти в поле <SSH key>
* нажать <Add key>
* вернуться в терминал GitBash и проверить настройки командой

# ssh -T git@bitbucket.org

Системное сообщение сообщит о том, какой аккаунт bitbacket может подключаться с этим ключом
Проверить, что выводиться имя вашего аккаунта.

Шаг 6. Настроить свой репозиторий на использование протокола SSH.
* открыть файл настроек git репозитория
* указать вместо url в формате https url в формате ssh

# https://anatolean@bitbucket.org/anatolean/mytetra.git
		git@bitbucket.org:anatolean/mytetra.git

Шаг 7. Внести изменнеия в проект по новому протоколу
* изменить readme.md
* закоммитить readme.md с комментарием

# git commit -m "making a change under the SSH protocol"

* передать изменения на сервер

# git push
	Counting objects: 5, done.
	Delta compression using up to 2 threads.
	Compressing objects: 100% (2/2), done.
	Writing objects: 100% (3/3), 287 bytes, done.
	Total 3 (delta 1), reused 0 (delta 0)
	remote: bb/acl: newuserme is allowed. accepted payload.
	To git@bitbucket.org:newuserme/bb101repo.git
	  056c29c..205e9a8 master -> master
Материал взят с сайта: https://webhamster.ru/mytetrashare/index/mtb207/1473403075dlzbd6ntqchttps://webhamster.ru/mytetrashare/index/mtb207/1473403075dlzbd6ntqc

Главная > Программы