Ini semua dikumpulkan dari situs web dan stackoverflow, semoga ini membantu yang baru mengenal ssh
sehingga Anda dapat memiliki banyak kunci ssh
~/.ssh$ ls
yyy_id_rsa yyy_id_rsa.pub id_rsa id_rsa.pub known_hosts
Catatan: kita perlu menambahkan kemudian ke ssh-agent, mungkin id_rsa akan ditambahkan sehingga kita perlu menambahkan kunci pribadi lainnya
~/.ssh$ ssh-add yyy_id_rsa
sekarang kami telah menambahkan kedua kunci ssh ke ssh-agent
kami punya satu untuk bitbucket dan satu untuk github
jadi kami membuat file konfigurasi seperti ini
~/.ssh$ nano config
Host bit-yyyuser bitbucket.org
Hostname bitbucket.org
IdentityFile ~/.ssh/yyy_id_rsa
User yyyuser
Host bit-xxxuser bitbucket.org
Hostname bitbucket.org
IdentityFile ~/.ssh/id_rsa
User xxxuser
Host git-xxxuser github.com
Hostname github.com
IdentityFile ~/.ssh/id_rsa
User xxxuser
Catatan: Saya menggunakan 2 kunci berbeda untuk 2 akun berbeda di bitbucket dan satu untuk github.
Sekarang kita perlu memberi tahu git repositori mana host yang akan digunakan sehingga saya akan mendapatkan kunci ssh spesifik untuk akun tertentu
ubah git@bitbucket.orgyyyuser/yyyproject.git
kegit@bit-yyyuser:yyyuser/yyyproject.git
jadi di folder proyek dan tambahkan url jarak jauh
/var/www/yyyproject$ git remote add bit git@bit-yyyuser:yyyuser/yyyproject.git
dalam proyek lain
/var/www/xxxproject$ git remote add bitt git@bit-xxxuser:xxxuser/xxxproject.git
sekarang Anda dapat menggunakan dorong dan tarik dengan mudah
:/var/www/yyyproject$ git pull bit master
From bit-yyyuser:yyyuser/yyyproject
* branch master -> FETCH_HEAD
Already up-to-date.
:/var/www/yyyproject$
dan proyek lain
/var/www/xxxproject$ git push bitt ver1
To git@bit-xxxuser:xxxuser/xxxproject.git
* branch master -> FETCH_HEAD
Already up-to-date.
:/var/www/xxxproject$
sekarang saya tidak memiliki proyek github pada mesin lokal sehingga kita perlu mengkloning proyek tetapi kita perlu membuat sedikit perubahan pada url untuk mengkloning
url kita seperti ini
git@github.com:xxxuser/python.git
karena kita harus mengkloningnya dengan kunci tertentu kita hanya perlu mengubah nama host dengan host yang telah kita tentukan
git@git-xxxuser:xxxuser/python.git
sebagaimana didefinisikan dalam file konfigurasi
dan sekarang kita bisa mengkloning
:/var/www/us$ git clone git@git-xxxuser:xxxuser/python.git
Cloning into 'python'...
remote: Counting objects: 75, done.
remote: Compressing objects: 100% (42/42), done.
remote: Total 75 (delta 18), reused 62 (delta 8)
Receiving objects: 100% (75/75), 6.29 KiB, done.
Resolving deltas: 100% (18/18), done.
:/var/www/us$
kami telah mengidentifikasi kunci ssh yang berbeda untuk host yang berbeda, satu untuk git dan satu untuk bitbucket sekarang sistem mengetahui kunci ssh mana yang akan digunakan dengan host mana.
Sekarang kita dapat dengan mudah menarik, mendorong.