Menjalankan banyak login git ssh melalui Terminal

0

Baru-baru ini saya menyiapkan kunci SSH untuk akun Bitbucket, yang berfungsi dengan sangat baik. Tapi saya juga punya repo git lain seperti Github, GitLab (saat ini tidak ada) dan saya datang untuk mendorong ke salah satu akun lain dan saya pikir Terminal default untuk menggunakan kunci ssh bitbucket saya.

Jadi bagaimana saya memaksa Terminal untuk mengizinkan saya login dengan nama pengguna dan kata sandi saat menggunakan repo github, atau biarkan saya memilih kunci ssh mana yang akan digunakan, katakanlah saya telah menyiapkan kunci untuk Gitlab dan Github?

Jonnny
sumber

Jawaban:

2

Ada berbagai cara untuk mencapai hal ini.

  1. Anda bisa menggunakan kunci yang sama untuk semua repositori git Anda.

  2. Anda bisa menggunakan kunci berbeda dan menentukan yang mana yang akan digunakan saat masuk ke sistem jarak jauh:

    $ ssh -i ~/.ssh/bitbucket-key user@host
    $ ssh -i ~/.ssh/gitlab-key user@host
    

-i identity_file

Memilih file dari mana identitas (kunci pribadi) untuk otentikasi kunci publik dibaca. Standarnya adalah ~ / .ssh / id_dsa,   ~ / .ssh / id_ecdsa, ~ / .ssh / id_ed25519 dan ~ / .ssh / id_rsa. File identitas   mungkin juga ditentukan berdasarkan per-host dalam file konfigurasi.   Dimungkinkan untuk memiliki beberapa opsi -i (dan banyak identitas   ditentukan dalam file konfigurasi). Jika belum ada sertifikat   secara eksplisit ditentukan oleh direktif CertificateFile, ssh juga akan   coba muat informasi sertifikat dari nama file yang diperoleh oleh   menambahkan -cert.pub ke nama file identitas.

Saya akan membuat pasangan kunci untuk setiap repo git, kemudian di Bitbucket Anda akan mengunggah kunci ke situs web Bitbucket. Gitlab dan Github bekerja dengan cara yang sama.

Setelah Anda mengunggah kunci ke repositori, itu sudah cukup git push tanpa perlu menentukan kunci Anda.

SEJU
sumber
Terima kasih, saya menemukan ini setelah saya memposting pertanyaan yang juga menunjukkan bagaimana melakukannya: docs.gitlab.com/ee/ssh/…
Jonnny