আপনি ৩টি সিম্পল স্টেপে ssh-keygen এবং ssh-copy-id ব্যবহার করে পাসওয়ার্ড দিয়ে ছাড়া রিমোট লিনাক্স সার্ভারে লগইন করতে পারেন যেমন এই আর্টিকেলে ব্যাখ্যা করা হয়েছে।
ssh-keygen পাবলিক এবং প্রাইভেট কী তৈরি করে। ssh-copy-id লোকাল-হোস্টের পাবলিক কী রিমোট-হোস্টের authorized_keys ফাইলে কপি করে। ssh-copy-id রিমোট-হোস্টের হোম, ~/.ssh, এবং ~/.ssh/authorized_keys-কে প্রপার পারমিশন ও অ্যাসাইন করে।
এই আর্টিকেলে ssh-copy-id-এর ৩টি মাইনর অ্যানয়্যান্স এবং ssh-copy-id কিভাবে ssh-agent এর সাথে ব্যবহার করতে হয় সেটাও ব্যাখ্যা করা হয়েছে।
স্টেপ ১: ssh-key-gen ব্যবহার করে লোকাল-হোস্টে পাবলিক এবং প্রাইভেট কী তৈরি করুন
jsmith@local-host$ [নোট: আপনি লোকাল-হোস্টে আছেন] jsmith@local-host$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[Enter key] Enter passphrase (empty for no passphrase): [Press enter key] Enter same passphrase again: [Pess enter key] Your identification has been saved in /home/jsmith/.ssh/id_rsa. Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub. The key fingerprint is: 33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 jsmith@local-host
স্টেপ ২: ssh-copy-id ব্যবহার করে পাবলিক কী রিমোট-হোস্টে কপি করুন
jsmith@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host jsmith@remote-host's password: Now try logging into the machine, with "ssh 'remote-host'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.
নোট: ssh-copy-id অ্যাপেন্ড করে কীগুলোকে রিমোট-হোস্টের .ssh/authorized_key-এ।
স্টেপ ৩: পাসওয়ার্ড ছাড়া রিমোট-হোস্টে লগইন করুন
jsmith@local-host$ ssh remote-host Last login: Sun Nov 16 17:22:33 2008 from 192.168.1.2 [নোট: SSH পাসওয়ার্ড পূচ্ছল না।] jsmith@remote-host$ [নোট: আপনি রিমোট-হোস্টে আছেন]
উপরের ৩টি সিম্পল স্টেপ অধিকাংশ কেসে কাজ করবে।
আমরা আগে বিস্তারিত আলোচনা করেছি openSSH থেকে openSSH-এ SSH এবং SCP পাসওয়ার্ড ছাড়া পারফর্ম করার কথা।
আপনি যদি SSH2 ব্যবহার করেন, তবে আমরা আগে আলোচনা করেছি SSH2 থেকে SSH2, OpenSSH থেকে SSH2, এবং SSH2 থেকে OpenSSH-এ পাসওয়ার্ড ছাড়া SSH এবং SCP পারফর্ম করার কথা।
ssh-copy-id ssh-add/ssh-agent এর সাথে ব্যবহার করা
যখন অপশন -i-এর জন্য কোনো ভ্যালু পাস করা হয় না এবং ~/.ssh/identity.pub উপলব্ধ নয়, তবে ssh-copy-id নিচের এরর মেসেজ দেখাবে।
jsmith@local-host$ ssh-copy-id -i remote-host /usr/bin/ssh-copy-id: ERROR: No identities found
আপনি যদি ssh-agent-এ কীগুলো লোড করে থাকেন ssh-add ব্যবহার করে, তবে ssh-copy-id ssh-agent- থেকে কীগুলো নেবে রিমোট-হোস্টে কপি করার জন্য। অর্থাৎ, যখন আপনি ssh-copy-id-এ অপশন -i পাস করেন না, তবে এটি ssh-add -L কমান্ড দ্বারা প্রদত্ত কীগুলো রিমোট-হোস্টে কপি করে।
jsmith@local-host$ ssh-agent $SHELL jsmith@local-host$ ssh-add -L The agent has no identities. jsmith@local-host$ ssh-add Identity added: /home/jsmith/.ssh/id_rsa (/home/jsmith/.ssh/id_rsa) jsmith@local-host$ ssh-add -L ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsJIEILxftj8aSxMa3d8t6JvM79DyBV aHrtPhTYpq7kIEMUNzApnyxsHpH1tQ/Ow== /home/jsmith/.ssh/id_rsa jsmith@local-host$ ssh-copy-id -i remote-host jsmith@remote-host's password: Now try logging into the machine, with "ssh 'remote-host'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. [নোট: এটি ssh-add -L দ্বারা দেখানো কীটি অ্যাড করেছে]
ssh-copy-id-এর তিনটি মাইনর অ্যানয়্যান্স
ssh-copy-id-এর কিছু মাইনর অ্যানয়্যান্স নিচে দেওয়া হলো।
- ডিফল্ট পাবলিক কী: ssh-copy-id ~/.ssh/identity.pub ডিফল্ট পাবলিক কী ফাইল হিসেবে ব্যবহার করে (অর্থাৎ যখন অপশন -i-এ কোনো ভ্যালু পাস করা হয় না)। বরং আমি চাই এটি id_dsa.pub, বা id_rsa.pub, বা identity.pub ডিফল্ট কী হিসেবে ব্যবহার করত। অর্থাৎ যদি যেকোনো একটি একজিস্ট করে, তবে সেটি রিমোট-হোস্টে কপি করত। যদি দুটি বা তিনটি একজিস্ট করে, তবে identity.pub ডিফল্ট হিসেবে কপি করত।
- দ্য এজেন্ট হ্যাজ নো আইডেন্টিটি: যখন ssh-agent চলছে এবং ssh-add -L "The agent has no identities" রিটার্ন করে (অর্থাৎ ssh-agent-এ কোনো কী অ্যাড করা নেই), তবে ssh-copy-id এই মেসেজ "The agent has no identities" রিমোট-হোস্টের authorized_keys এন্ট্রিতে কপি করবে।
- authorized_keys-এ ডুপ্লিকেট এন্ট্রি: আমি চাই ssh-copy-id রিমোট-হোস্টের authorized_keys-এ ডুপ্লিকেট এন্ট্রি ভ্যালিডেট করত। আপনি যদি লোকাল-হোস্টে একাধিকবার ssh-copy-id এক্সিকিউট করেন, তবে এটি একই কী বারবার রিমোট-হোস্টের authorized_keys ফাইলে অ্যাপেন্ড করবে ডুপ্লিকেট চেক ছাড়া। ডুপ্লিকেট এন্ট্রি থাকলেও সব কিছু এক্সপেক্টেডলি কাজ করে। কিন্তু, আমি আমার authorized_keys ফাইল ক্লাটার-ফ্রি রাখতে চাই।
আপনি যদি এই আর্টিকেলটি পছন্দ করেন, তবে দয়া করে Delicious-এ বুকমার্ক করুন এবং Stumble it করুন।