2013-12-17 13 views
9

Pomyślnie skonfigurowałem mojego klienta GitHub do korzystania z SSH i otrzymałem email potwierdzający od GitHub, że dodano nowy klucz SSH. Chciałbym skonfigurować IntelliJ również do korzystania z SSH, więc nie muszę wprowadzać mojej nazwy użytkownika i hasła za każdym razem, gdy wchodzę w interakcję z GitHub. Nie chcę też, żeby IntelliJ zapisał mi moje hasło, ponieważ nie jestem pewien, jak bezpieczne to będzie.Jak podłączyć IntelliJ do GitHub za pomocą SSH

Najbliższym, do jakiego doszedłem, jest to, że muszę edytować plik ~/.ssh/config, aby poinformować IntelliJ, że istnieje klucz SSH, którego może użyć. Niestety nie udało mi się znaleźć przykładu, który działa.

Oto moja najnowsza próba wejścia ~/.ssh/config:

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

Próbowałem ponownym IntelliJ po dodaniu tego wpisu, ale bezskutecznie. Używam IntelliJ Ultimate 12.1.6 na Mac OSX 10.8.5

+0

Twój 'config' nie wygląda poprawnie, sprawdź https://gist.github.com/jexchan/2351996. – CrazyCoder

+0

@CrazyCoder Dzięki za link, użył go do aktualizacji odpowiedzi. – kukido

Odpowiedz

14

Wtyczka GitHub dla IntelliJ pozwala na zapisanie hasła, dzięki czemu nie musisz go wpisywać za każdym razem.

enter image description here


Z kluczy

(dostosowany od Multiple SSH Keys settings for different github account dzięki CrazyCoder komentarzu):

  • Tworzenie pary kluczy SSH

    $ ssh-keygen -t rsa -C "[email protected]" 
    
  • Dodaj kluczową

    $ ~/.ssh/id_rsa_activehacker 
    
  • Potwierdź, że klucz jest dodawany

    $ ssh-add -l 
    
  • Zmienić ~/.ssh/config

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


W IntelliJ

VCS> Checkout od wersji Kontroli> Git

Checkout from Version Control

test

Test

Jak widać, to nadal będą musiały albo wpisać hasło dla pary kluczy po każdym ponownym uruchomieniu IntelliJ (uważam, że fraza jest przechowywana w pamięci) lub pozwól, aby IntelliJ ją przechował nently.

+0

Dzięki, ale to nie jest to, czego chcę. Wyjaśniłem pytanie dotyczące tego punktu. – user55547

+0

@ user55547 Zaktualizowano odpowiedź za pomocą rozwiązania kluczy ssh. – kukido

+1

Uwaga dla osób, które nie są zaznajomione z .ssh config: jest to specjalny plik, który pozwala skojarzyć tożsamości SSH z określonymi domenami. To rozwiązanie wymaga utworzenia konfiguracji z adresem SSH w polu hosta. Samouczek konfiguracji SSH [tutaj] (http://nerderati.com/2011/03/17/simplify-your-life-with-an-ssh-config-file/), wystarczy zmienić hosta, aby pasował do domeny repozytorium Git. – Indolering

3

Powyższa odpowiedź kukido wydaje się być już nieaktualna; interfejs użytkownika IntelliJ nie zapewnia już takiego samego poziomu dostępu do adresu URL Github. I domyślny "wbudowany" (do IntelliJ) plik wykonywalny ssh wydaje się nie respektować ustawień plików .ssh/config.To, co udało mi się teraz znaleźć, polega na tym, aby przełączyć się z używania wbudowanego pliku ssh do "natywnego" pliku wykonywalnego ssh. Odbywa się to odwiedzając Settings... | Version Control | Git, a następnie wybierając Native w menu rozwijanym .

Dotyczy wersji IntelliJ 2016.2 i jestem prawie pewna, że ​​wcześniejsze wersje, takie jak 2016.1 i seria 2015.

2

Steve Byrne ma rację co do zmian w tej procedurze. Ponieważ nie mam wystarczającej reputacji, aby wyrazić opinię, chciałbym dodać do jego odpowiedzi, że mogłem wykonać tę pracę z Githubem podczas wprowadzania adresu URL SSH w monicie o klonowanie repozytorium. Można uzyskać adres URL SSH Repo klikając na „Clone lub Pobierz”, a następnie „ssh” na Github, tak:

enter image description here

6

Korzystanie IntelliJ 2016.3.3 ten wydaje się bardzo proste, wykonując czynności poniżej:

  1. Generowanie swoją parę kluczy do użycia, jeśli istnieje już żaden z

ssh-keygen

  1. Dodaj klucz do swojego profilu github zgodnie https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/

  2. zmodyfikować ustawienia w IntelliJ pod | VersionControl> GitHub

zaznaczyć 'repozytoria Clone git używając ssh'

IntelliJ Settings Screenshot for Github

Wybierz 'Język' jako 'SSH wykonywalny'

enter image description here

1
  • Otwarte Git Bash i utworzyć nowy klucz ssh przy użyciu adresu e-mail GitHub tak:

    ssh-keygen -t rsa -b 4096 -C "[email protected]"

  • Następnie prosi o ścieżkę do zapisania klucza. Możesz po prostu zaakceptować wartość domyślną, naciskając Enter.

  • Zostaniesz poproszony o podanie hasła. Pamiętaj, aby pamiętać o tym, ponieważ może być potrzebny w momencie, gdy chcesz przenieść zmiany projektu do GitHub.
  • Upewnij się, że agent ssh działa.Do tego można wprowadzić następujące polecenie

    eval $ (ssh-agent -s)

  • Teraz dodać SSH klucz prywatny do ssh-agent jak ten:

    ssh-add ~/.ssh/id_rsa

  • teraz przejdź do swojego profilu gitHub i wybierz Ustawienia-> SSH i klucze GPG. Wybierz New SSH Key i po wprowadzeniu tytuł, skopiuj klucz poleceniem:

    klip < ~/.ssh/id_rsa.pub

  • wreszcie przejść do ustawień GIT IntelijIDEA i wybierz Wbudowany dla wykonywalnego SSH.

  • Możesz spróbować sprawdzić, czy wszystko działa poprawnie, przesuwając projekt do GitHub. Zostaniesz zapytany o hasło, które wprowadziłeś podczas tworzenia klucza SSH.

Powiązane problemy