¿Cómo conecto IntelliJ con GitHub usando SSH?

He configurado correctamente mi cliente GitHub para usar SSH, y recibí el correo electrónico de confirmación de GitHub que decía que se había agregado una nueva key SSH. Me gustaría configurar IntelliJ para usar SSH también, para que no tenga que ingresar mi nombre de usuario y contraseña cada vez que interactúo con GitHub. Tampoco quiero que IntelliJ guarde mi contraseña, ya que no estoy seguro de qué tan seguro sería.

Lo más cerca que he llegado hasta ahora es que necesito editar mi file ~ / .ssh / config para decirle a IntelliJ que hay una key SSH que puede usar. Desafortunadamente no he logrado encontrar un ejemplo que funcione.

Aquí está mi último bash de una input ~ / .ssh / config:

Host IntelliJ HostName github.com User git IdentityFile "/Users/peter/.ssh/github_rsa" TCPKeepAlive yes IdentitiesOnly yes 

Intenté reiniciar IntelliJ después de agregar esa input, pero fue en vano. Estoy ejecutando IntelliJ Ultimate 12.1.6 en Mac OSX 10.8.5

El complemento GitHub para IntelliJ le permite save la contraseña, por lo que no tiene que ingresarla siempre.

enter image description here

Con llaves

(adaptado de la configuration de múltiples keys SSH para diferentes counts de github , gracias al comentario de CrazyCoder ):

  • Crear un par de keys ssh

     $ ssh-keygen -t rsa -C "activehacker@youremail.com" 
  • Agregar key

     $ ~/.ssh/id_rsa_activehacker 
  • Confirma que la key está agregada

     $ ssh-add -l 
  • Modificar ~ / .ssh / config

     Host github.com-activehacker HostName github.com User git IdentityFile ~/.ssh/id_rsa_activehacker 

En IntelliJ

VCS> Pago desde el control de versiones> Git

Pago desde el control de versiones

Prueba

Prueba

Como puede ver, igual tendrá que ingresar la frase de contraseña para el par de keys después de cada reinicio de IntelliJ (creo que la frase de contraseña se guarda en la memory) o dejar que IntelliJ la almacene de forma permanente.

Usando IntelliJ 2016.3.3 esto parece muy directo siguiendo los siguientes pasos:

  1. Genere su par de llaves para usar, si no existe ninguno con

ssh-keygen

  1. Agregue la key a su perfil github según https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/

  2. Modificar la configuration en IntelliJ debajo | VersionControl> GitHub

Marque 'Clonar repositorys git usando ssh'

Captura de pantalla de IntelliJ Settings para Github

Elija 'Native' como 'ejecutable SSH'

enter image description here

La respuesta anterior por kukido parece ahora estar desactualizada; la interfaz de usuario de IntelliJ ya no brinda el mismo nivel de acceso a la URL de github. Y, el ejecutable ssh pnetworkingeterminado "incorporado" (a IntelliJ) parece no respetar la configuration del file .ssh / config. Lo que he encontrado ahora funciona es cambiar de usar el ejecutable ssh incorporado al ejecutable ssh "nativo". Esto se hace visitando Settings... | Version Control | Git Settings... | Version Control | Git Settings... | Version Control | Git y luego elegir Native en el menu desplegable de SSH executable .

Esto se aplica a IntelliJ versión 2016.2 y estoy bastante seguro de versiones anteriores como 2016.1 y la serie 2015.

Steve Byrne tiene razón acerca de los cambios a este procedimiento. Como no tengo suficiente reputación para comentar, me gustaría agregar a su respuesta que solo puedo hacer que esto funcione con Github al ingresar la URL SSH en el post de clonación de un repository. Puede get la URL SSH de su repository haciendo clic en "Clonar o Descargar" y luego "Usar SSH" en Github, de esta forma:

enter image description here

  • Abre Git Bash y crea una nueva key ssh usando tu dirección de correo electrónico GitHub como esta:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

  • Luego te pregunta la ruta de un file para save la key. Puede simplemente aceptar el valor pnetworkingeterminado presionando Enter.

  • A continuación, se le pedirá una frase de contraseña. Asegúrese de recordarlo ya que puede necesitarlo en el momento en que desee enviar los cambios de su proyecto a GitHub.
  • Asegúrese de que su agente ssh se esté ejecutando. Para eso puedes ingresar el siguiente command

    eval $ (ssh-agent -s)

  • Ahora agregue su key privada SSH al agente ssh de esta manera:

    ssh-add ~ / .ssh / id_rsa

  • Ahora ve a tu perfil de GitHub y selecciona Configuración-> Claves SSH y GPG . Seleccione Nueva key SSH y luego de ingresar un título, copie su key usando este command:

    clip <~ / .ssh / id_rsa.pub

  • Finalmente vaya a la configuration de Git de IntelijIDEA y select Built-in para el ejecutable de SSH .

  • Puede intentar ver si todo funciona bien empujando su proyecto a GitHub. Se le pedirá la contraseña que ingresó al crear la key ssh.