ধাপ 1
আপনার স্থানীয় এজেন্ট প্রস্তুত কিনা তা নিশ্চিত করুন
আপনার মূল পথটি নির্দিষ্ট করে না দিয়ে বা পাসওয়ার্ডের জন্য আপনাকে জিজ্ঞাসা না করেই আপনি আপনার বেস্ট সার্ভারে প্রবেশ করতে পারেন , এর অর্থ এই নয় যে আপনার এসএসএল এজেন্ট আপনার চালাচ্ছে এবং ধরে রেখেছে। কিছু আধুনিক ওএস (যেমন: ওএসএক্স) আপনার জন্য এটি পরিচালনা করে।
আপনার স্থানীয় মেশিনে
$ ssh-add -L
ssh-rsa ObahfCbvagGbLbhSbeHfvatEBG13== ~/.ssh/mykey.pem
ssh-rsa LbhNerWhfgJnnlGbbPyrireEBG13== ~/.ssh/sharedkey.pem
আকার 1
তার মানে আপনার এজেন্ট চলছে এবং আপনার চাবি আছে।
$ ssh-add -L
The agent has no identities.
fig.2
এর অর্থ আপনি নিজের এজেন্টে কোনও কী যুক্ত করেন নি। এটি দিয়ে ঠিক করুন:
ssh-add ~/.ssh/mykey.pem ~/.ssh/sharedkey.pem
fig.3
ধাপ ২
আপনার দূরবর্তী এজেন্ট প্রস্তুত কিনা তা নিশ্চিত করুন
আপনার Bastion সার্ভারে, SSH থেকে চেক পুনরাবৃত্তি Fig.1 & fig.2 । তবে আপনি যে ত্রুটিটি পাওয়ার সম্ভাবনা বেশি তা হ'ল:
$ ssh-add -L
Could not open a connection to your authentication agent.
fig.4
সম্ভবত এটির অর্থ হ'ল আপনার এসএসএইচ ক্লায়েন্ট আপনার প্রমাণীকরণ এজেন্ট সংযোগটি ফরোয়ার্ড করছে না।
আপনি -A
পতাকাটি দিয়ে জোর করতে পারেন (যতক্ষণ না সার্ভারে থাকা sshd কনফিগারেশন এটির অনুমতি দেয়, এটি পূর্বনির্ধারিত )।
$ ssh -A bastion.ec2
fig.5
ধাপ 3
আপনি সঠিক কীগুলি ব্যবহার করছেন তা নিশ্চিত করুন
আপনি যদি আপনার এজেন্টে কী যুক্ত করেছেন তবে আপনার এজেন্ট ফরোয়ার্ড করছে এবং আপনার দূরবর্তী এজেন্ট আপনার স্থানীয় কীগুলি তালিকাভুক্ত করে। কেবল দুটি কারণেই আপনি সংযোগ পাচ্ছেন না। হয় আপনি সঠিক কীটি ব্যবহার করছেন না বা আপনি সঠিক ব্যবহারকারীর নাম ব্যবহার করছেন না।
আপনার ব্যক্তিগত কীতে পাবলিক কাউন্টারটিকে আউটপুট দিন:
$ cd
$ cd .ssh
$ ssh-keygen -y -f mykey.pem
ssh-rsa ObahfCbvagGbLbhSbeHfvatEBG13
$ ssh-keygen -y -f sharedkey.pem
ssh-rsa LbhNerWhfgJnnlGbbPyrireEBG13
fig.6
এগুলি ssh-add -L
আপনার ==
কাছাকাছি থেকে শেষ পর্যন্ত যা দেখছিল তার সমান হওয়া উচিত ।
এখন কোনও না কোনও উপায় আপনাকে সেই বাক্সে toোকাতে হবে যা আপনি সংযোগ করতে ব্যর্থ হচ্ছেন এবং $HOME/.ssh/authorized_keys
আপনি যে ব্যবহারকারী হিসাবে সংযোগের চেষ্টা করছেন তার ফাইলের বিষয়বস্তুটি সন্ধান করতে হবে। আপনাকে নিশ্চিত করতে হবে যে উপরের কমান্ডটি দিয়ে আপনি যে সর্বজনীন কীটি আউটপুট দিয়েছেন সেগুলি নিজেই একটি লাইনে সেই ফাইলটিতে রয়েছে। আপনি বিশ্বাস করতে পারবেন না যে sharedkey.pub
ব্রো 2 কিউব আপনার ইমেল করেছেন তা ঠিক। যাচাই করুন! এটির জন্য আপনাকে অনুমোদিত_কিজ ফাইলটি আনতে বা রুট অ্যাক্সেস পাওয়ার জন্য অন্য কোনও ব্যক্তির পেতে প্রয়োজন হতে পারে যারা সেই ব্যবহারকারী হিসাবে এসএসএইচ করতে পারেন। যদি আপনি এ পর্যন্ত চলে এসেছেন এবং এটি এখনও কাজ না করে, আপনি শর্টকাট নেওয়ার বাইরে।
পদক্ষেপ 4
এটি সহজ কর
আশাকরি উপরের পদক্ষেপগুলি আপনাকে পেয়েছে Now আপনি এখন যতক্ষণ এই ওয়ার্কস্টেশনটি ব্যবহার করছেন ততক্ষণ এই মাথা ব্যাথা সরিয়ে দেওয়া যাক।
আপনার স্থানীয় ssh- ক্লায়েন্ট কনফিগার করুন
Host *
# A lot of people put an IdentityFile line in this Host * section.
# Don't do that unless you will use only 1 key everywhere forever.
#IdentityFile id_rsa
Host bastion.ec2
# You want to make sure you always forward your agent to this host.
# But don't forward to untrusted hosts. So don't put it in Host *
ForwardAgent yes
# Go a head and put the IP here in case DNS ever fails you.
# Comment it out if you want. Having it recorded is a good backup.
HostName 172.31.0.1
# You don't want to create a proxy loop later, so be explicit here.
ProxyCommand none
# SSH should try using all keys in your .ssh folder, but if you
# know you want this key, being explicit speeds authentication.
IdentityFile ~/.ssh/mykey.pem
# Connect effortlessly by hostname or IP address
# This assumes that your internal DNS uses the fake TLD ec2
# This assumes that 172.31.0.0 is your C-Class subnet
Host *.ec2 172.31.*
# This command says proxy all ssh connections through bastion as if
# you had done an ssh -A
ProxyCommand ssh -W %h:%p bastion.ec2
ForwardAgent yes
# These next lines are documentation you leave as a love letter to
# your future self when all else fails or you have to help a
# coworker and decide to look at your own config.
# ssh-add ~/.ssh/*.pem
# ssh -At bastion.ecs ssh admin@172.31.18.19
fig.7
যদি আপনি চিত্র 7 থেকে অন্য কিছু না নেন তবে এটি ProxyCommand
& এর সঠিক ব্যবহার হওয়া উচিত ForwardAgent
।
আপনার .বাশ_প্রফাইলে স্বয়ংক্রিয়ভাবে পপুলেট করুন
ssh-add
প্রতিবার আপনি আপনার মেশিনে লগইন করার সময় আপনাকে ম্যানুয়ালি করতে হবে না । ~/.bash_profile
এমন একটি স্ক্রিপ্ট যা প্রতিবার আপনি লগইন করুন ** runs ডুমুর থেকে লাইন রাখুন । 3 সেখানে এবং আপনার সর্বদা আপনার এজেন্ট প্রস্তুত থাকা উচিত।
** এটিকে বিভ্রান্ত করবেন না .bashrc
যা প্রতিটি নতুন [ইন্টারেক্টিভ] টার্মিনালের জন্য চলে। আপনি আপনার সমস্ত টার্মিনাল সেশন বন্ধ করে দিলেও আপনার এজেন্ট চলতে থাকে। আপনার কীগুলি পুনরায় লোড করার দরকার নেই
.Bash_profile ব্যবহারের বিকল্প
আমি একটি গিস্টও তৈরি করেছি যা একটি ওএসএক্স / ম্যাকওএস লঞ্চ এজেন্ট যুক্ত করে । ssh-agent
বুট শুরু করার জন্য আপনি এই পদ্ধতিটি ব্যবহার করতে পারেন । এটি ইনস্টল করা খুব সহজ:
curl -sSL https://gist.github.com/RichardBronosky/429a8fff2687a16959294bcee336dd2a/raw/install.sh | bash
ForwardAgent yes
সঙ্গে-A
হোস্ট এটা নামঞ্জুর করে পারেন।