উত্তর:
প্রত্যেক ব্যবহারকারীর জন্য: তারা (তাদের স্থানীয় মেশিনে) উৎপন্ন উচিত তাদের কী জুটি ব্যবহার ssh-keygen -t rsa
( rsa
সঙ্গে প্রতিস্থাপিত হতে পারে dsa
বা rsa1
খুব, যদিও সেই সব বিকল্প পরামর্শ দেওয়া হয় না)। তারপরে তাদের সর্বজনীন কী ( id_rsa.pub
) এর সামগ্রীগুলি ~/.ssh/authorized_keys
লগ ইন হওয়া সার্ভারের মধ্যে রাখা দরকার।
আমি আসলে ssh-copy-id পছন্দ করি , একটি স্ক্রিপ্ট * নিক্সে ডিফল্টরূপে পাওয়া যায় ( ম্যাক ওএস এক্সে সহজেই যথেষ্ট পরিমাণে রাখা যায়) যা স্বয়ংক্রিয়ভাবে আপনার জন্য এটি করে। ম্যান পৃষ্ঠা থেকে:
ssh-copy-id হ'ল একটি স্ক্রিপ্ট যা দূরবর্তী মেশিনে লগিন করতে ssh ব্যবহার করে (সম্ভবত লগইন পাসওয়ার্ড ব্যবহার করে, সুতরাং পাসওয়ার্ড প্রমাণীকরণ সক্ষম করা উচিত, যদি না আপনি একাধিক পরিচয়ের কিছু চালাক ব্যবহার করেন)
এটি গ্রুপ রিবেটিবিলিটি দূর করতে দূরবর্তী ব্যবহারকারীর বাড়ির, ~ / .ssh, এবং, / .ssh / অনুমোদিত_keys এর অনুমতিগুলিও পরিবর্তন করে (যা অন্যথায় আপনাকে লগ ইন করা থেকে বিরত রাখতে পারে, যদি রিমোট sshd এর কনফিগারেশনে স্ট্রিক্টমডস সেট থাকে)।
যদি -i বিকল্পটি দেওয়া হয় তবে আপনার ssh-এজেন্টে কোনও কী আছে কিনা তা বিবেচনা না করে পরিচয় ফাইলটি (~ / .ssh / সনাক্ত.pub- র ডিফল্ট) ব্যবহৃত হয়।
হুম, বুঝে না কেবল একটি কী তৈরি করুন এবং শুরু করুন। :) HOWTO অতিরিক্তভাবে আপনি পাসওয়ার্ডের মাধ্যমে লগইন করতে নিষেধ করতে পারেন। যেমন / ইত্যাদি / এসএসএস / এসএসডি_কনফিগ:
PasswordAuthentication no
এটি করার জন্য মোটামুটি সোজা-এগিয়ে - এখানে একটি সাধারণ ওয়াকথ্রু পাওয়া যাবে ।
মূল বিষয়গুলি হ'ল:
ssh-keygen
আপনার মেশিনে চালান । এটি আপনার জন্য সরকারী এবং ব্যক্তিগত কী উত্পন্ন করবে।~/.ssh/id_rsa.pub
) এর সামগ্রীগুলি অনুলিপি করুন এবং আটকান ~/.ssh/authorized_keys
।এটি মনে রাখা জরুরী যে এটি আপনার মেশিনে প্রাইভেট কীতে অ্যাক্সেস রয়েছে এমন কাউকে দূরবর্তী মেশিনে একই অ্যাক্সেস দেবে, সুতরাং কী জুড়িটি তৈরি করার সময় আপনি অতিরিক্ত সুরক্ষার জন্য এখানে একটি পাসওয়ার্ড প্রবেশ করানো বেছে নিতে পারেন।
উইন্ডোজ ব্যবহারকারীদের জন্য পুট্টি সেটআপ করা যায়
অন্যেরা যা বলেছে তার সংক্ষিপ্তসার হিসাবে, এসএসএইচ কী স্থাপন করা সহজ এবং অমূল্য।
যে মেশিন থেকে আপনি এসএসএইচিং করবেন সেগুলি থেকে আপনার কীটি তৈরি করা দরকার:
claudius:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/dinomite/.ssh/id_rsa): <ENTER>
Enter passphrase (empty for no passphrase): <PASSPHRASE>
Enter same passphrase again: <PASSPHRASE>
Your identification has been saved in /home/dinomite/.ssh/id_rsa.
Your public key has been saved in /home/dinomite/.ssh/id_rsa.pub.
The key fingerprint is:
a3:93:8c:27:15:67:fa:9f:5d:42:3a:bb:9d:db:93:db dinomite@claudius
উল্লিখিত যেখানে সন্নিবেশ করান এবং অনুরোধ জানানো হলে একটি পাসফ্রেজ লিখুন - আদর্শভাবে এটি বর্তমান হোস্ট এবং আপনি যেটিতে এসএসএইচিং করবেন সে উভয়টিতেই আপনার নিয়মিত লগইন পাসওয়ার্ড থেকে আলাদা।
এরপরে, আপনাকে যে হোস্টটি আপনি এসএসএইচ করতে চান তার সবেমাত্র আপনার তৈরি করা কীটি অনুলিপি করতে হবে । বেশিরভাগ লিনাক্স বিতরণে এটি করার জন্য একটি সরঞ্জাম রয়েছে ssh-copy-id
:
claudius:~$ ssh-copy-id caligula.dinomite.net
Now try logging into the machine, with "ssh 'caligula.dinomite.net'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
যদি আপনার ডিস্ট্রিবিউশনে এটি না থাকে, তবে আপনার গন্তব্য হোস্টের চাবিটি অনুলিপি করা উচিত এবং এটি (সম্ভবত বিদ্যমান) .ssh/authorized_keys
ফাইলে যুক্ত করা উচিত:
claudius:~$ scp .ssh/id_dsa.pub caligula.dinomite.net:
id_dsa.pub 100% 1119 1.1KB/s 00:00
claudius:~$ ssh caligula.dinomite.net
Last login: Sat May 9 10:32:30 2009 from claudius.csh.rit.edu
Caligula:~$ cat id_dsa.pub >> .ssh/authorized_keys
অবশেষে, এসএসএইচ কীগুলির সর্বাধিক সুবিধা অর্জন করতে আপনি একটি এসএসএইচ এজেন্ট চালাতে চাইবেন। আপনি যদি কোনও ডেস্কটপ পরিবেশ ব্যবহার করেন (জিনোম, কে। যদি না, আপনি রেসিন ফাইল (আপনার শেল নিম্নলিখিত যোগ করতে পারেন .bashrc
, .profile
ইত্যাদি):
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
eval `$SSHAGENT $SSHAGENTARGS`
trap "kill $SSH_AGENT_PID" 0
fi
এটি একটি চেকলিস্ট হিসাবে উদ্দেশ্য। যদি কেউ এটি পর্যায়ক্রমে অনুসরণ করে তবে পাসওয়ার্ডহীন লগইনগুলির সর্বাধিক সাধারণ গ্যাচগুলি আচ্ছাদিত করা উচিত। এর মধ্যে বেশিরভাগ বিষয় উল্লেখ করা হয়েছে অন্য কোথাও; এটি একটি সমষ্টি।
অ্যাকাউন্টের অধীনে প্রতিটি মেশিনে একটি ~/.ssh
ডিরেক্টরি থাকতে হবে chmod 700
যা সংযোগগুলি উত্পন্ন বা গ্রহণ করবে।
(ব্যক্তিগত) কীটি কোনও পাসফ্রেজ ছাড়াই তৈরি করা আবশ্যক, অথবা এজেন্ট শুরু করা যেতে পারে যা ক্লায়েন্টদের ব্যবহারের জন্য পাসফ্রেজ বহনকারী কীটির ডিক্রিপ্ট করা সংস্করণ ধারণ করবে। এজেন্ট দিয়ে শুরু করুন ssh-agent $SHELL
। এটি সেই $SHELL
অংশ যা আমাকে খুঁজে পেতে কিছুটা সময় নিয়েছিল। আপনি যদি কোনও এজেন্ট ব্যবহার করতে চান তবে বহুবিধ বিশদ রয়েছে বলে ম্যান পৃষ্ঠাটি দেখুন।
ভুলে যাবেন না যে ডিফল্টরূপে দুর্বল (<2048 বিট ডিএসএ) কীগুলি sshd এর সাম্প্রতিক সংস্করণগুলি দ্বারা গৃহীত হয় না।
সংযোগের সূচনা করতে ক্লায়েন্ট-সাইড মেশিনে নিম্নলিখিতটি করা আবশ্যক ।
আপনার ব্যক্তিগত কীটি যথাযথভাবে ~/.ssh/id_rsa
বা ~/.ssh/id_dsa
যথাযথভাবে স্থাপন করা উচিত । আপনি অন্য নাম ব্যবহার করতে পারেন, তবে তারপরে প্রাইভেট কীটি স্পষ্টভাবে ইঙ্গিত করার জন্য এটি উত্পন্ন মেশিনে ssh কমান্ডের a -i বিকল্পের মধ্যে অন্তর্ভুক্ত থাকতে হবে।
আপনার ব্যক্তিগত কী হতে হবে chmod 600
।
আপনার বাড়ির ফোল্ডারটি পরীক্ষা করুন chmod 700
।
একটি মেশিনকে অনুরোধ পাওয়ার অনুমতি দেওয়ার জন্য। একটি সাধারণ মডেল হ'ল যেখানে প্রশাসক আপনাকে নিজের কোনও মেশিনে অ্যাক্সেস দিচ্ছেন (ভাগ করা ওয়েব হোস্টিংয়ের মতো)। অতএব, ssh সহ ধারণাটি হ'ল আপনি যাকে আপনার অ্যাকাউন্ট দিচ্ছেন তার কাছে আপনার সর্বজনীন কী অফার করুন । এজন্য আপনি সাধারণত অনুরোধ গ্রহণের মেশিনে ব্যক্তিগত কী রাখেন না put তবে, আপনি যদি এই মেশিনটি আউটগোয়িং এসএসও করতে চান তবে অবশ্যই আপনাকে উপরের পদক্ষেপগুলি সহ একটি উত্স্র মেশিন হিসাবে বিবেচনা করতে হবে।
~/.ssh/authorized_keys
অ্যাকাউন্টের নীচে কল করা কোনও ফাইলে রাখতে হবে যা সংযোগগুলি গ্রহণ করবে । আপনি এই অ্যাকাউন্টের মাধ্যমে এখানে সংযুক্ত হওয়ার জন্য অনুমোদিত অন্য কীগুলি রাখতে পারেন। একটি বিশেষত জটিল জিনিস যদি আপনি ভিআই তে থাকেন এবং পুটিটিওয়াইয়ের পেস্ট বাফার থেকে ফাইলটি কীটি আটকান এটি হ'ল: কীটি "ssh-" দিয়ে শুরু হয়। আপনি যদি সন্নিবেশ মোডে না থাকেন তবে প্রথম "s" টি সন্নিবেশ মোডে vi রাখবে এবং বাকি কীটি ঠিক সূক্ষ্ম দেখাবে। তবে আপনি কীটির শুরুতে একটি "এস" মিস করবেন। এটি খুঁজে পেতে আমার বেশ কয়েকদিন লেগেছিল।chmod 600 ~/.ssh/authorized_keys
। এটি অবশ্যই কমপক্ষে GW হওয়া উচিত।অন্যরা যেমন বলেছে, আপনার ব্যবহারকারীদের তাদের ক্লায়েন্ট মেশিনে ssh-keygen দিয়ে নিজের জন্য কীপেইসগুলি তৈরি করা উচিত এবং তারা যে মেশিনে লগ ইন করতে চান তাতে public / .ssh / अधिकृत_keys এ তাদের পাবলিক কী যুক্ত করা উচিত।
যদিও আরও বিশদ তথ্যের জন্য, আমি অত্যন্ত সুপারিশ করি এসএসএইচ, দ্য সিকিউর শেল ।
এখানে ভাল পরামর্শ আছে, তাই আমি এটি পুনরাবৃত্তি করব না। একবার আপনি কীগুলির সাহায্যে সাইন ইন করার অনুমতি দেওয়ার জন্য একটি সার্ভার সেট আপ হয়ে গেলে আপনি এই ওলাইনারের সাহায্যে অন্যকেও সেটআপ করতে পারেন:
remote=server1 server2 server3 server4
for r in $remote; do echo connecting to $r; tar czf - ./.ssh/id*.pub ./.ssh/authorized_keys2 ./.ssh/config | ssh $r "tar zxf -; chmod 700 .ssh" ; done
আপনার হোম ডিরেক্টরিতে কেবল সিডি করুন, ভেরিয়েবল রিমোটটিকে এক বা একাধিক সার্ভারের নাম হিসাবে সংজ্ঞায়িত করুন এবং একবারে একগুচ্ছ করুন। এটি যে পাসওয়ার্ডটির জন্য জিজ্ঞাসা করবে তা হ'ল দূরবর্তী সার্ভারের জন্য আপনার এসএস পাসওয়ার্ড। আপনি অবশ্যই সরলিকৃত সংস্করণটি ফর-লুপ ছাড়াই ব্যবহার করতে পারেন:
tar czf - ./.ssh/id*.pub ./.ssh/authorized_keys2 ./.ssh/config | ssh YOUR_SERVER_NAME_HERE "tar ztvf -; chmod 700 .ssh"
স্মরণ করুন: কেবলমাত্র আপনার সর্বজনীন কীগুলিতে অনুলিপি করুন। আপনি চান না যে আপনার ব্যক্তিগত কীগুলি এমন কোনও সার্ভারে বসে আছে যেখানে সুডো সহ যে কেউ সেগুলি অনুলিপি করতে পারে এবং আপনার পাসফ্রেজটিকে জোর করে।