Đây là tất cả được thu thập từ trang web và stackoverflow, hy vọng điều này sẽ giúp những người mới biết đến ssh
vì vậy bạn có thể có nhiều phím ssh
~/.ssh$ ls
yyy_id_rsa yyy_id_rsa.pub id_rsa id_rsa.pub known_hosts
Lưu ý: chúng ta cần thêm sau đó vào ssh-agent, có thể id_rsa sẽ được thêm vào vì vậy chúng ta cần thêm khóa riêng khác
~/.ssh$ ssh-add yyy_id_rsa
bây giờ chúng tôi đã thêm cả hai khóa ssh vào ssh-agent
chúng tôi có một cho bitbucket và một cho github
vì vậy chúng tôi tạo một tập tin cấu hình như thế này
~/.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
Lưu ý: Tôi đang sử dụng 2 khóa khác nhau cho 2 tài khoản khác nhau trên bitbucket và một cho github.
Bây giờ chúng ta cần nói với kho git sử dụng máy chủ nào để tôi sẽ nhận được khóa ssh cụ thể cho tài khoản cụ thể đó
đổi git@bitbucket.orgyyyuser/yyyproject.git
sanggit@bit-yyyuser:yyyuser/yyyproject.git
vì vậy trong thư mục dự án và thêm url từ xa
/var/www/yyyproject$ git remote add bit git@bit-yyyuser:yyyuser/yyyproject.git
trong dự án khác
/var/www/xxxproject$ git remote add bitt git@bit-xxxuser:xxxuser/xxxproject.git
bây giờ bạn có thể sử dụng đẩy và kéo dễ dàng
:/var/www/yyyproject$ git pull bit master
From bit-yyyuser:yyyuser/yyyproject
* branch master -> FETCH_HEAD
Already up-to-date.
:/var/www/yyyproject$
và một dự án khác
/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$
Bây giờ tôi không có dự án github trên máy cục bộ nên chúng tôi cần sao chép dự án nhưng chúng tôi cần thực hiện một chút thay đổi để url để sao chép
url của chúng tôi là như thế này
git@github.com:xxxuser/python.git
vì chúng ta phải sao chép nó bằng các khóa cụ thể, chúng ta chỉ cần thay đổi tên máy chủ với máy chủ mà chúng ta đã xác định
git@git-xxxuser:xxxuser/python.git
như được định nghĩa trong tập tin cấu hình
và bây giờ chúng ta có thể nhân bản
:/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$
chúng tôi đã xác định các khóa ssh khác nhau cho máy chủ khác nhau, một cho git và một cho bitbucket bây giờ hệ thống biết các khóa ssh nào sẽ được sử dụng với máy chủ nào.
Bây giờ chúng ta có thể dễ dàng kéo, đẩy.