এটি সমস্ত ওয়েবসাইট এবং স্ট্যাকওভারফ্লো থেকে জড়ো করা হয়েছে, আশা করি এটি যারা নতুন এসএসএসে সহায়তা করবে তাদের সহায়তা করবে
যাতে আপনার অনেকগুলি এসএস কী থাকতে পারে
~/.ssh$ ls
yyy_id_rsa yyy_id_rsa.pub id_rsa id_rsa.pub known_hosts
দ্রষ্টব্য: আমাদের তখন ssh-এজেন্টে যুক্ত করা দরকার, সম্ভবত id_rsa যুক্ত হবে তাই আমাদের অন্যান্য ব্যক্তিগত কী যুক্ত করতে হবে
~/.ssh$ ssh-add yyy_id_rsa
এখন আমরা ssh- এজেন্টে উভয় ssh কী যুক্ত করেছি
আমাদের কাছে একটি বিটবাকেটের জন্য এবং একটি গিথাবের জন্য
সুতরাং আমরা এটির মতো একটি কনফিগার ফাইল তৈরি করি
~/.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
দ্রষ্টব্য: আমি বিটবাকেটে 2 টি আলাদা অ্যাকাউন্টের জন্য 2 টি এবং কী গিথাবের জন্য একটি পৃথক কী ব্যবহার করছি।
এখন আমাদের গিট সংগ্রহস্থলটি বলতে হবে যে কোন হোস্টটি ব্যবহার করবে যাতে আমি সেই নির্দিষ্ট অ্যাকাউন্টের জন্য সেই নির্দিষ্ট এসএস কীটি পাই
পরিবর্তন git@bitbucket.orgyyyuser/yyyproject.git
করার জন্যgit@bit-yyyuser:yyyuser/yyyproject.git
সুতরাং প্রকল্প ফোল্ডারে এবং দূরবর্তী url যুক্ত করুন
/var/www/yyyproject$ git remote add bit git@bit-yyyuser:yyyuser/yyyproject.git
অন্যান্য প্রকল্পে
/var/www/xxxproject$ git remote add bitt git@bit-xxxuser:xxxuser/xxxproject.git
এখন আপনি ধাক্কা এবং সহজেই টানতে পারেন
:/var/www/yyyproject$ git pull bit master
From bit-yyyuser:yyyuser/yyyproject
* branch master -> FETCH_HEAD
Already up-to-date.
:/var/www/yyyproject$
এবং অন্য প্রকল্প
/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$
এখন আমি স্থানীয় মেশিনে গিথুব প্রকল্পটি পাই না তাই আমাদের প্রকল্পটি ক্লোন করা প্রয়োজন তবে ক্লোন করতে ইউআরএলটিতে আমাদের কিছুটা পরিবর্তন করা দরকার
আমাদের ইউআরএল এর মত
git@github.com:xxxuser/python.git
যেহেতু আমাদের এটি নির্দিষ্ট কীগুলির সাথে ক্লোন করতে হবে আমাদের কেবলমাত্র সংজ্ঞায়িত হোস্টের সাথে হোস্টের নাম পরিবর্তন করতে হবে
git@git-xxxuser:xxxuser/python.git
কনফিগারেশন ফাইল হিসাবে সংজ্ঞায়িত
এবং এখন আমরা ক্লোন করতে পারি
:/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$
আমরা বিভিন্ন হোস্টের জন্য আলাদা আলাদা এসএস কী চিহ্নিত করেছি, একটি গিটের জন্য এবং একটি বিটবাকেটের জন্য এখন সিস্টেমটি জানে যে কোন হোস্টের সাথে কোন ssh কীগুলি ব্যবহার করতে হবে।
এখন আমরা সহজেই টানতে পারি, ঠেলাতে পারি।