publickey permission org multiple mac generate for git ssh bitbucket ssh-keys

git - permission - Acceso al repositorio denegado. el acceso a través de una clave de implementación es de solo lectura



multiple ssh key for bitbucket (16)

Después de clonar exitosamente mi repo de heroku y agregué otro control remoto

1/ git clone [email protected]:[APP].git 2/ git remote add bitbucket ssh://[email protected]/[ACCOUNT]/[REPO].git 3/ git push bitbucket master

Todavía recibo este error después de ejecutar la línea (3) o usar SourceTree

conq: repository access denied. access via a deployment key is read-only.

Primero no entiendo lo que significa este mensaje en la práctica. Y eso es una pena.

Hice un par de claves ssh y las agregué a heroku:

ssh-keygen -t rsa heroku keys:add ./id_rsa.pub

También agregué mi clave en la sección de claves de implementación en BitBucket. Pero debo estar perdiendo algo. Esta pregunta no está fuera de la pereza, he estado leyendo varios documentos, incluidas las guías de BitBuckets. Pero todavía no se resuelve este problema.

Esta publicación está relacionada con ¿Puedo importar mi repositorio de heroku git en bitbuket? ¿y cómo?

HECHOS ADICIONALES:

ssh -T [email protected] conq: authenticated via a deploy key. You can use git or hg to connect to Bitbucket. Shell access is disabled. $ ssh -v [email protected] OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011 debug1: Reading configuration data /Users/joel/.ssh/config debug1: Applying options for bitbucket.org debug1: Reading configuration data /etc/ssh_config debug1: Applying options for * debug1: Connecting to bitbucket.org [207.223.240.181] port 22. debug1: Connection established. debug1: identity file /Users/joel/.ssh/id_rsa type 1 debug1: identity file /Users/joel/.ssh/id_rsa-cert type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3 debug1: match: OpenSSH_5.3 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_5.6 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr hmac-md5 none debug1: kex: client->server aes128-ctr hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Host ''bitbucket.org'' is known and matches the RSA host key. debug1: Found key in /Users/joel/.ssh/known_hosts:5 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Offering RSA public key: /Users/joel/.ssh/id_rsa debug1: Remote: Forced command: conq deploykey:13907 debug1: Remote: Port forwarding disabled. debug1: Remote: X11 forwarding disabled. debug1: Remote: Agent forwarding disabled. debug1: Remote: Pty allocation disabled. debug1: Server accepts key: pkalg ssh-rsa blen 279 debug1: read PEM private key done: type RSA debug1: Remote: Forced command: conq deploykey:13907 debug1: Remote: Port forwarding disabled. debug1: Remote: X11 forwarding disabled. debug1: Remote: Agent forwarding disabled. debug1: Remote: Pty allocation disabled. debug1: Authentication succeeded (publickey). Authenticated to bitbucket.org ([207.223.240.181]:22). debug1: channel 0: new [client-session] debug1: Requesting [email protected] debug1: Entering interactive session. debug1: Sending environment. debug1: Sending env LC_CTYPE = UTF-8 PTY allocation request failed on channel 0

Parece que todo está bien.


Proceso de dos pasos para poder empujar pull
Paso 1: Generar clave ssh (pública y privada) en mac

Paso 2: poner la clave privada en mac y la clave pública en el sitio web de git

A continuación se detallan los pasos para usuarios de mac.

Paso 1: Generando claves

  1. (asegúrate de que tienes instalado git) https://git-scm.com/download/mac
  2. abra el terminal y escriba ssh-keygen Esto le pedirá que ingrese la ubicación de almacenamiento para la clave, puede escribir /Users/[machinename]/.ssh/[keyname]
  3. A continuación, solicitará una frase de contraseña, puede dejarla en blanco presionando la tecla Intro o ingresar alguna palabra clave para ingresar nuevamente en el próximo aviso
  4. Esto habrá creado dos claves para usted, privada y pública, con el nombre [nombre de clave] y [nombre de clave] .pub

Paso 2: empujar las teclas a las ubicaciones apropiadas [mac y cuentas remotas, es decir, Github, bitbucket, gitlab, etc.]

  1. Escriba ssh-add -K ~/.ssh/[keyname] en el terminal para agregar su clave privada al mac
  2. Escriba pbcopy < ~/.ssh/[keyname].pub para copiar la clave pública al portapapeles
  3. Abra la configuración de la cuenta en su sitio web de git respectivo y vaya a Agregar clave, pegue la clave pública copiada arriba

Hecho, ahora puedes empujar tirar.


A veces no funciona porque configura manualmente otra clave para bitbucket en ~/.ssh/config .


Ahora la opción SSH está bajo la configuración de seguridad

Haga clic en Su Avatar -> Configuración de Bitbucket -> Clave SSH -> Agregar clave

Pega tu clave pública


La ''clave de implementación'' es solo para acceso de solo lectura. La siguiente es una buena manera de trabajar a través de esto.

  • Cree una clave SSH y agréguela a bitbucket (Usuario Avatar -> Configuración de Bitbucket-> Claves SSH)
  • ~ / .ssh / known_hosts
  • ssh-add -D (Eliminar las claves cargadas en el agente SSH)
  • ssh-add ~ / .ssh / your_private_key_for_bitbucket
  • ssh [email protected] -Tv (Verifique que su clave se está acostumbrando para conectarse a bitbucket)
  • git push ''nombre remoto'' ''nombre de rama''

La primera confusión de mi lado fue sobre dónde establecer exactamente las claves SSH en BitBucket.

Soy nuevo en BitBucket y estaba configurando una clave de implementación que solo da acceso de lectura .

Así que asegúrese de configurar su rsa pub key en la configuración de su cuenta de BitBucket .

Haga clic en su avatar de BitBucket y seleccione Administrar cuenta . Allí podrás configurar claves SSH .

Simplemente eliminé la clave de implementación , no la necesito por ahora. Y funcionó


Las claves de implementación son de solo lectura. Para habilitar el acceso de escritura necesitas:

  • Elimine esta clave de despliegue de la configuración de su repositorio. No podrás escribir en este repositorio con esta clave de todos modos.

  • Vaya a "Avatar -> Configuración -> SSH Keys" y agregue la misma clave

  • Ahora intenta empujar para quitar la rama

Antes pudo escribir en los repositorios, pero este es un cambio en BitBucket donde ya no puede escribir con la clave de implementación.


Me gustaría volver a enfatizar lo siguiente:

  • Es posible que haya agregado la clave SSH a su repositorio (por ejemplo, EjemploRepo), pero NO es donde va la clave SSH .
  • Está destinado a entrar en su perfil . Este es el pequeño avatar en la esquina inferior izquierda de la pantalla. Aquí, encontrará un lugar diferente para colocar sus claves SSH (en Seguridad)> y luego agregará la clave aquí.
  • Si accidentalmente coloca su clave SSH en el repositorio (a diferencia de su cuenta), elimine la que está en el repositorio.

Me tomó mucho tiempo darme cuenta, de alguna manera, incluso después de leer las respuestas aquí, no hizo clic.


Ocurrió esto cuando intentaba usar una clave de implementación porque eso es exactamente lo que quería.

Podría conectarme a través de ssh -T [email protected] y me diría que tenía acceso para leer el repositorio que quería, pero git clone fallaría.

Borrar ~/.ssh/known_hosts , generar una nueva clave a través de ssh-keygen , agregar esa nueva clave a bitbucket y volver a intentarlo.


Pasos:

  1. Crear claves ssh en el servidor de origen

    ssh-keygen

  2. Cat y copia id_rsa.pub ubicado en el directorio ~. / Ssh

  3. Vaya a Bitbucket, si ya ha configurado las claves de acceso para los repositorios, borre las claves públicas existentes
  4. Vaya a Avatar de Bitbucket> Configuración de Bitbucket> Claves SSH (en Seguridad, panel izquierdo)> Haga clic en ''Agregar claves''> pegue la clave pública.
  5. Compruebe si funciona ejecutando el comando siguiente en el servidor de origen

    git remote show origin

  6. Para obtener y enviar desde el servidor de origen, si el protocolo es ''https'', debe cambiarlo a ''git + ssh'' ejecutando el comando a continuación

    git remote set-url origin git+ssh://<bitbucketaccount>@bitbucket.org/<accountname>/repo.git

  7. Comprueba si puedes hacer push al repo.

¡Hecho!


Primero debe eliminar la clave de implementación si va a agregar la misma clave en Administrar clave SSH de cuenta.


Recientemente me enfrenté al mismo problema. Tuve el siguiente error:

Acceso al repositorio denegado. el acceso a través de una clave de implementación es de solo lectura.

Puedes tener dos tipos de claves SSH:

  1. Para su cuenta completa que funcionará para todos los repositorios
  2. Por clave SSH de repositorio que solo se puede utilizar para ese repositorio específico.

Simplemente quité mi clave SSH del repositorio y agregué una nueva clave SSH a mi cuenta y funcionó bien.

Espero que esto ayude a alguien. Aclamaciones


TLDR: ssh-add ~ / .ssh / yourkey

Acabo de solucionar este problema.

Y ninguna de las otras respuestas ayudó.

Tenía un ./ssh/config con todo lo correcto, también un repositorio anterior que funciona bien (la misma cuenta de bitbucket, la misma clave). Luego generé una variable deploy_key y, después, creé un nuevo repositorio.

Después de eso no se pudo clonar el nuevo repositorio.

Ojalá supiera cómo / por qué el agente ssh estaba arruinando todo esto, pero agregar la clave lo resolvió. Me refiero a agregar la clave en mi Ubuntu local, no en el administrador de bitbucket. El comando es justo

~/.ssh$ ssh-add myregualrkey

Espero que esto ayude a alguien.


Tenía el mismo problema que tenía Kabir Sarin. La solución fue clonar el repositorio a través de SSH, en lugar de usar la URL https. Así que esto es lo que me ayudó, y espero que otros:

git clone [email protected]:{accountName}/{repoName}.git


Todo lo que necesitas - agrega otra clave y úsala.

Como he encontrado la primera clave, siempre la clave de implementación.



para este error: conq: acceso al repositorio denegado. el acceso a través de una clave de implementación es de solo lectura.

Cambio el nombre de mi llave, ejemplo

cd /home/try/.ssh/ mv try id_rsa mv try.pub id_rsa.pub

Trabajo en mi propia llave en bitbucket