৪.৩ সার্ভারে গিট – SSH Public Key গঠন প্রক্রিয়া

SSH Public Key তৈরি করা

অনেক গিট সার্ভার অথেন্টিকেট করার জন্য SSH পাবলিক কি (key) ব্যবহার করে। একটি পাবলিক কী (Key) প্রদান করার জন্য, অবশ্যই আপনার সিস্টেমের প্রত্যেক ব্যবহারকারীকে একটি Key তৈরি করতে হবে যদি তাদের কাছে ইতিমধ্যে না থেকে থাকে। এই প্রক্রিয়াটি সকল অপারেটিং সিস্টেম এর জন্য একই রকম। প্রথমত, আপনাকে নিশ্চিত হতে হবে যে, আপনার কাছে কোন Key নেই। সাধারণত, একজন ব্যবহারকারীর SSH Key গুলো ~/.ssh ডিরেক্টরীতে সংরক্ষিত থাকে। আপনি সহজেই সেই ডিরেক্টরীতে গিয়ে এবং বিষয়বস্তুর তালিকা থেকে দেখে নিতে পারেন যে ইতিমধ্যে আপনার কাছে কোন Key আছে কিনা।
				
					$ cd ~/.ssh
$ ls
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub
				
			
এই কমান্ড ব্রাবহার করে চলুন দেখি id_dsa বা id_rsa এই নামে বা এর মতো কিছু এক জোড়া ফাইল খুঁজে পাই কিনা, যেখানে একটি ফাইল এর নাম id_dsa এবং আরেকটি ফাইলের নাম id_dsa.pub হবে। .pub ফাইলটি আপনার Public Key, এবং অন্য ফাইলটি সংশ্লিষ্ট Private Key। যদি আপনার কাছে এই ফাইলগুলি না থাকে (অথবা আপনার কাছে একটি .ssh ডিরেক্টরিও না থাকে), আপনি ssh-keygen নামে একটি প্রোগ্রাম চালিয়ে সেগুলি তৈরি করতে পারেন, যা Linux/macOS অপারেটিং সিস্টেমে SSH প্যাকেজের সাথে সরবরাহ করা হয় এবং Windows অপারেটিং সিস্টেমে Git for Windows এর সাথে আসে:
				
					$ ssh-keygen -o
Generating public/private rsa key pair.
Enter file in which to save the key (/home/schacon/.ssh/id_rsa):
Created directory '/home/schacon/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/schacon/.ssh/id_rsa.
Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local
				
			
প্রথমে প্রোগ্রামটি নিশ্চিত করে যে আপনি Key টি(.ssh/id_rsa) কোথায় সংরক্ষণ করতে চান। তারপরে এটি একটি passphrase এর জন্য দুবার জিজ্ঞাসা করে, যা আপনি খালি রাখতে পারেন যদি আপনি Key ব্যবহার করার সময় কোন পাসওয়ার্ড টাইপ করতে না চান। আর যদি আপনি একটি পাসওয়ার্ড ব্যবহার করেন, তাহলে -o অপশনটি যোগ করা নিশ্চিত করবে; যা Private Key টিকে এমনভাবে সংরক্ষণ করে যা সচরাচরের তুলনায় অধিক ব্রুট-ফোর্স পাসওয়ার্ড ভঙ্গুর প্রতিরোধী। আপনি প্রতিবার পাসওয়ার্ড প্রবেশ না করতে চাইলে ssh-agent টুলটিও ব্যবহার করতে পারেন।

এখন, প্রত্যেক ব্যবহারকারীকে তাদের Public Key আপনার কাছে বা যারা গিট সার্ভার পরিচালনা করছেন, তাদেরকে পাঠাতে হবে (ধরে নিচ্ছি যে আপনি একটি SSH সার্ভার সেটআপ ব্যবহার করছেন যার জন্য Public Key প্রয়োজন)। তাদের যা করতে হবে তা হল .pub ফাইলের বিষয়বস্তু কপি করে ইমেল করতে হবে। Public Key গুলো দেখতে অনেকটা এরকম হয়:
				
					$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@mylaptop.local
				
			
একাধিক অপারেটিং সিস্টেমে একটি SSH Key তৈরির বিষয়ে আরও বিশদভাবে জানার জন্য SSH Key সংক্রান্ত GitHub গাইডটির নিম্নোক্ত লিংক অনুসরণ করুন এই লিংকেঃ