Введение
Допустим, у вас есть личная учетная запись GitHub и проект. Вы работаете на машине и имеете несколько проектов, некоторые из которых хотите отправить в личный кабинет или наоборот. Здесь вы можете использовать ключи SSH, чтобы вам не приходилось повторно вводить имя пользователя и пароль для идентификации. Что вы делаете, так это генерируете SSH-ключ. Когда вы это сделаете, вы получите пару, одну общедоступную, а другую приватную. Публичный — это то, что вы предоставляете GitHub, а частный остается на вашем компьютере. Внесенные изменения будут разрешены только при совпадении ключей.
Без лишних слов, вот шаги по добавлению ключей SSH на ваш GitHub.
- Перейдите в каталог, в который вы хотите перенести изменения в другую учетную запись GitHub.
- Создайте новый ключ SSH в терминале/командной строке.
В Windows я использую следующую команду:
ssh-keygen -t rsa -C “your-email-address”
- -t означает « тип », а rsa — тип шифрования.
- -C означает комментарий
Затем будет показано следующее:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/your_username/.ssh/id_rsa):
Скопируйте и вставьте путь, за которым следует идентифицируемое имя файла:
/c/Users/your_username/.ssh/id_rsa_IDENTIFIABLE_NAME_HERE
Для этого урока я назвал его тестом:
/c/Users/your_username/.ssh/id_rsa_test
Убедитесь, что вы не перезаписываете id_rsa, так как это ваш существующий ключ для исходной учетной записи.
Затем он спросит у вас следующее:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Дважды нажмите « Enter », чтобы оставить поле пустым.
Теперь вы можете ввести следующую команду, чтобы увидеть все ключи SSH, которые есть на вашем локальном компьютере:
ls -al ~/.ssh
- ls выводит список всех файлов в текущем каталоге
- a — вывести список всех файлов, включая скрытые
- l для перечисления в длинном формате
Затем вы должны получить что-то вроде этого:
total 46
drwxr-xr-x 1 your_username 1049089 0 Jan 26 10:40.
drwxr-xr-x 1 your_username 1049089 0 Jan 23 12:12..
-rw-r--r-- 1 your_username 1049089 3326 Nov 30 11:21 id_rsa
-rw-r--r-- 1 your_username 1049089 748 Nov 30 11:21 id_rsa.pub
-rw-r--r-- 1 your_username 1049089 1675 Jan 26 10:40 id_rsa_test
-rw-r--r-- 1 your_username 1049089 399 Jan 26 10:40 id_rsa_test.pub
-rw-r--r-- 1 your_username 1049089 803 Nov 30 12:08 known_hosts
Вы должны увидеть свой новый файл ключа SSH. Как видите, у меня есть и id_rsa_test, и id_rsa_test.pub.
id_rsa_test — это ваш закрытый ключ, хранящийся на вашем компьютере, а id_rsa_test.pub — это открытый ключ, который вы предоставите GitHub.
Далее вам нужно скопировать ключ SSH, который хранится в файле id_rsa_test.pub. Вы можете открыть его в текстовом редакторе по вашему выбору. В настоящее время я использую атом, поэтому я открыл файл с помощью следующей команды:
atom ~/.ssh/id_rsa_test.pub
Затем вы получите что-то вроде этого:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEmSbc7ms4SNIf7G0e9EqdrQRTB17VFTqRtCbQ55sSc11xZP5B07UXf9+................a955cf1GUzsNIr60E7VuVxirrr+K2WcleqifnDEg1H/VbyJtEekh4Aav9csBwemTz3 [email protected]
Ключ на самом деле длиннее, но я укоротил его для этого урока.
Скопируйте это и перейдите в свою учетную запись GitHub → Настройки → Ключи SSH и GPG.
Щелкните Новый ключ SSH.
Дайте вашему новому ключу название, а затем вставьте новый сгенерированный ключ SSH, который вы скопировали ранее. Неплохо было бы дать ключам название машины, от которой они были получены.
Если вы работаете на Mac/Linux, вы также сможете добавить этот ключ на свой терминал, используя следующую команду:
ssh-add ~/.ssh/id_rsa_test
Однако, поскольку я использую компьютер с Windows, мне пришлось создать команду SSH. Вы можете сделать это, введя следующее прямо в командную строку:
git config core.sshCommand=ssh -i ~/.ssh/id_rsa_test
или вы можете сделать это, открыв файл конфигурации git в своем любимом текстовом редакторе:
git config -e
Ваш локальный файл конфигурации git должен выглядеть так:
Добавьте sshCommand = ssh -i ~/.ssh/id_ra_test
в раздел [core] списка.
git config -e
глобально
git config --global core.editor "atom --wait"
Другие команды редактора можно найти здесь.
Настройте репозиторий для отправки на GitHub со связанной учетной записью.
Вам также необходимо изменить адрес электронной почты и имя пользователя, чтобы подключиться к учетной записи GitHub, с которой вы хотите связать репозиторий. Вы можете изменить его в файле конфигурации, пока он у вас открыт:
В качестве альтернативы вы также можете сделать это через командную строку:
git config user.name "test"
git config user.email [email protected]
Теперь вы должны быть в состоянии зафиксировать и отправить на правильную учетную запись.
git init
git add.
git commit -m "First commit"
git remote add origin [email protected]:your_username/test.git
git push origin master
Вывод
В этом руководстве мы увидели, как иметь 2 или более учетных записей GitHub на одном компьютере.