{"id":3506,"date":"2022-06-16T15:41:31","date_gmt":"2022-06-16T20:41:31","guid":{"rendered":"https:\/\/linuxitos.com\/main\/?p=3506"},"modified":"2022-11-20T01:38:48","modified_gmt":"2022-11-20T07:38:48","slug":"anadir-varios-usuarios-de-gitlab-y-github-fedora","status":"publish","type":"post","link":"https:\/\/linuxitos.com\/main\/anadir-varios-usuarios-de-gitlab-y-github-fedora\/","title":{"rendered":"A\u00f1adir varios usuarios de GitLab y  GitHub | Fedora"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/gitlabgithub.png\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/gitlabgithub.png\" alt=\"\" class=\"wp-image-3507\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/gitlabgithub.png 800w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/gitlabgithub-300x113.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/gitlabgithub-768x288.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Introducci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En algunos casos he necesitado clonar o subir un proyecto de github o gitlab desde diferente cuenta, y subir o configurar repositorios con alguna cuenta diferente para cada uno, sin embargo, cuando se utiliza una sola cuenta coo global, \u00e9sto no se podr\u00eda realizar, por lo que he utilizado \u00e9sta configuraci\u00f3n que les mencionar\u00e9, para poder realizar dichas configuraciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, muchos quiz\u00e1s dir\u00e1n, por qu\u00e9 no usas algo m\u00e1s productivo como VSCODE, o codium, bueno, aqu\u00ed es gusto de cada qui\u00e9n y sus necesidades, en mi caso, prefiero realizar los proceso desde la terminal, y por cada repositorio subir los cambios de manera que no afecte a todos los dem\u00e1s, as\u00ed que, si alguien m\u00e1s tiene otro m\u00e9todo de realizarlo, ser\u00eda perfecto que comparta su idea.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuraci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los pasos generales son los siguientes:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Crear carpeta .ssh<\/li>\n\n\n\n<li>Generar clave ssh por usuario<\/li>\n\n\n\n<li>Guardar la clave p\u00fablica ssh en github o gitlab<\/li>\n\n\n\n<li>Agregar la clave generada a ssh<\/li>\n\n\n\n<li>Configurar el archivo ~\/.ssh\/config<\/li>\n\n\n\n<li>Configurar los repositorios<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">1.- Crear carpeta .ssh<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Se crear\u00e1 la carpeta .ssh en la carpeta personal, o bien, ejecutar el siguiente comando:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">mkdir ~\/.ssh<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2.- Generar clave ssh por usuario<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez creado la carpeta, desde la terminal entrar al directorio, y generar las claves por cada correo la clave ssh, con el siguiente comando:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">cd ~\/.ssh<\/pre>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">ssh-keygen -o -t rsa -b 4096 -C \"correo-usuario-uno@dominio.com\"<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Al ejecutar el comando, pedir\u00e1 el nombre para los archivos que se generen, como recomendaci\u00f3n, utilizar el correo como nombre de archivo, con un gui\u00f3n al final y el servidor, si es para github o gitlab, de tal modo que  los archivos generados quedar\u00e1n de la siguiente manera:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>- Archivo de clave privada: correo-usuario-uno@dominio.com-github\n- Archivo de clave p\u00fablica: correo-usuario-uno@dominio.com-github.pub<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Por cada clave que se genere en el directorio .shh se guardan dos archivos, uno sin extensi\u00f3n y otro con .pub.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SI NECESITAN USAR EL MISMO CORREO EN GITLAB Y GITHUB, GENERAR DOS CLAVES CON EL MISMO CORREO, PERO CON EL NOMBRE DE GITHUB O GITLAB AL FINAL DE CADA ARCHIVO, PARA DIFERENCIARLO.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3.- Guardar la clave p\u00fablica ssh en github o gitlab<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, una vez que ya se hayan generado las claves ssh, iniciar sesi\u00f3n en github o gitlab seg\u00fan sea el caso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ir a la secci\u00f3n de SSH de acuerdo al servidor de su elecci\u00f3n y clic en el bot\u00f3n Agregar clave SSH:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Github: <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/settings\/keys\" target=\"_blank\">https:\/\/github.com\/settings\/keys<\/a><\/li>\n\n\n\n<li>Gitlab: <a rel=\"noreferrer noopener\" href=\"https:\/\/gitlab.com\/-\/profile\/keys\" target=\"_blank\">https:\/\/gitlab.com\/-\/profile\/keys<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Para agregar las claves, abrir el archivo .pub correspondiente para cada servidor, copiar el contenido tal cual aparece en el archivo, y pegarlo dentro del campo Clave o Key. de acuerdo al servidor de su selecci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-32-07.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"371\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-32-07-1024x371.png\" alt=\"\" class=\"wp-image-3511\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-32-07-1024x371.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-32-07-300x109.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-32-07-768x279.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-32-07.png 1194w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pa<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-29-04.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"504\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-29-04-1024x504.png\" alt=\"\" class=\"wp-image-3512\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-29-04-1024x504.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-29-04-300x148.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-29-04-768x378.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-29-04.png 1246w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez pegado el contenido, clic en Guardar o agregar clave.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.- Agregar la clave generada a ssh<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que la clave ya fue agregada en los correspondientes servidores, es necesario propagarlas en nuestro equipo, para \u00e9sto se usa el comando siguiente:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">ssh-add ~\/.ssh\/correo-usuario-uno@dominio.com-github<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed, se usa el archivo de la clave privada, NO EL ARCHIVO .PUB. Repetir el proceso de a\u00f1adido de claves por cada cuenta de usuario que se haya a\u00f1adido.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.- Configurar el archivo ~\/.ssh\/config<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, es necesario crear un archivo de texto llamado config dentro del directorio ~\/.config<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y dentro de \u00e9ste archivo, se configurar\u00e1 las cuentas que se hayan a\u00f1adido, ejemplos:<\/p>\n\n\n\n<pre style=\"background: rgb(245, 245, 245); border-radius: 6px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">Host user1.gitlab.com\n\tHostName gitlab.com\n\tUser git\n\tIdentityFile ~\/.ssh\/usuario1@outlook.com.com-gitlab\n\nHost user2.gitlab.com\n\tHostName gitlab.com\n\tUser git\n\tIdentityFile ~\/.ssh\/usuario2@outlook.com-gitlab\n\nHost user1.github.com\n\tHostName github.com\n\tIdentityFile ~\/.ssh\/usuario1@outlook.com-github\n\t\nHost user2.github.com\n\tHostName github.com\n\tIdentityFile ~\/.ssh\/usuario2@outlook.com-github<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nomenclatura:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Host: nombre con el que se usar en los repositorios<\/li>\n\n\n\n<li>HostName: es el servidor al que aputna, puede ser gitlab, github, o algun IP particular si se usa un servidor personal<\/li>\n\n\n\n<li>User git, ah\u00ed no cambia<\/li>\n\n\n\n<li>IdentityFile: es la ruta del archivo con la clave privada que se gener\u00f3 previamente, ojo, es el archivo con la clave privada.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez que se  guarden los cambios del archivo config, ahora tocar probar la conexi\u00f3n con \u00e9ste comando:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">ssh -T git@nombre-host<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ejemplo: el host se toma del archivo config<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">ssh -T git@user1.gitlab.com<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Para gitlab, la salida del comando es algo as\u00ed:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-54-43.png\"><img loading=\"lazy\" decoding=\"async\" width=\"945\" height=\"352\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-54-43.png\" alt=\"\" class=\"wp-image-3514\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-54-43.png 945w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-54-43-300x112.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-54-43-768x286.png 768w\" sizes=\"auto, (max-width: 945px) 100vw, 945px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Para github, la salida del comando es algo as\u00ed:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-50-30.png\"><img loading=\"lazy\" decoding=\"async\" width=\"945\" height=\"352\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-50-30.png\" alt=\"\" class=\"wp-image-3515\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-50-30.png 945w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-50-30-300x112.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-16-14-50-30-768x286.png 768w\" sizes=\"auto, (max-width: 945px) 100vw, 945px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">6.- Configurar los repositorios<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, para cada repositorio que se clone, se usar\u00e1 el usuario de acuerdo al servicio, por ejemplo:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">git clone git@user1.github.com:usuariogithub\/nombrepositorio.git<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Y con \u00e9sto, el repositorio quedar\u00e1 configurado para se administrado por el usuario con el que se clon\u00f3, adicionalmente, se deben a\u00f1adir las siguientes opciones al archivo config de cada repositorio, con el nombre y correo del usuario:<\/p>\n\n\n\n<pre style=\"background: rgb(245, 245, 245); border-radius: 6px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">[user]\n\tname = \"Nombre Usuario 1\"\n\temail = usuario1@outlook.com<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si se requiere cambiar el usuario manualmente de alg\u00fan repositorio existente, se realizar\u00e1 dentro del repostorio, en la carpeta .git\/config y editar la l\u00ednea que dice:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>url = git@user1.github.com:\/usuario\/repositorio.git<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Y solo configurar o reemplazar el user1-github.com por el nombre del host que se declar\u00f3 en la carpete .ssh\/config, \u00e9sto de acuerdo con el usuario que requieran y el servicio que corresponda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9sto es algo engorroso, sin embargo, podr\u00eda resultar \u00fatil para algunos que lo requieran, ya saben lo que se dice, en gustos se rompen g\u00e9neros, y todo depende de la necesidad que se tenga<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n En algunos casos he necesitado clonar o subir un proyecto de github o gitlab desde diferente cuenta, y subir o configurar repositorios con alguna cuenta diferente para cada uno, sin embargo, cuando se utiliza una sola cuenta coo global, \u00e9sto no se podr\u00eda realizar, por lo que he utilizado \u00e9sta configuraci\u00f3n que les mencionar\u00e9, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3507,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1074,68,16,15],"tags":[1823,1826,1825,1824],"class_list":["post-3506","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-git","category-github","category-gitlab","category-two-account-gitlab","tag-many-accounts-github","tag-many-accounts-gitlab","tag-varias-cuentas-github","tag-varias-cuentas-gitlab"],"_links":{"self":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/3506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/comments?post=3506"}],"version-history":[{"count":5,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/3506\/revisions"}],"predecessor-version":[{"id":3762,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/3506\/revisions\/3762"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media\/3507"}],"wp:attachment":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media?parent=3506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/categories?post=3506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/tags?post=3506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}