আমি কীভাবে স্থায়ীভাবে এসএসএইচের জন্য একটি পরিচয় যুক্ত করব?


37

আমাকে ssh-add <key>প্রতিটিবার ওয়েব সার্ভারে প্রবেশ করার দরকার আছে run স্থায়ীভাবে আইডি যুক্ত করার কোনও উপায় আছে, তাই প্রতিটি লগইনে আমি পরিচয় যুক্ত করে রাখি না?

সম্পাদনা: কীটি একটি পেম ফাইল যা আমি ক্লাউড পরিষেবা থেকে ডাউনলোড করেছি।

উত্তর:


40

আপনার কীটি স্বাভাবিকের মতো তৈরি করুন: ssh-keygenতারপরে সেই কীটি দূরবর্তী সার্ভারে রাখুন ssh-copy-id, এটি এটি দূরবর্তী সার্ভারের গৃহীত কীগুলিতে সিঙ্ক করবে।

ssh-keygen
ssh-copy-id user@host

এটি আপনার পাসওয়ার্ডের জন্য অনুরোধ জানাবে তারপরে আপনার .pubকীটিকে দূরবর্তী এসএসএইচ সার্ভারের সাথে সংযুক্ত করতে প্রয়োজনীয় সমস্ত পদক্ষেপগুলি সম্পাদন করবে ।

ডিফল্টরূপে এটি আপনার সমস্ত .pub কীগুলি দূরবর্তী সার্ভারে অনুলিপি করবে। আপনি যদি আপনার কীটি কেবল এটির সাথে তৈরি করে থাকেন ssh-keygenতবে এটি কোনও সমস্যা নয় (কারণ আপনার কেবলমাত্র একটি আছে!) তবে আপনার যদি একাধিক কী থাকে তবে আপনি -iপতাকা সহ একটি নির্দিষ্ট কী অনুলিপি করতে পারেন ।

ssh-copy-id -i ~.ssh/key_name.pub user@host

key_name.pubকীটির নাম দিয়ে প্রতিস্থাপন করা।


4
আমার মতো (বা প্রশ্ন জিজ্ঞাসাকারী) কারও কাছে যার একমাত্র এক্সপোজার এটি ক্লাউড-হোস্ট করা সার্ভারগুলিতে অ্যাক্সেস ব্যবহার করে যেখানে ওয়েব সার্ভিসটি কী তৈরি করে এবং এটি আমাকে দেয় (আমার ক্ষেত্রে, ডাব্লুএস সার্ভার), এই উত্তরটি কঠিন hard কিছু উল্লেখযোগ্য পটভূমি গবেষণা না করে বুঝতে। উদাহরণস্বরূপ, আমি কখনও ব্যবহার করি নি ssh-keygenবা ssh-copy-id। অন্যদিকে, অনেক বিষয়ে উত্তর এই এক পুরোপুরি স্পষ্ট এবং দরকারী আমাকে জ্ঞান আমার স্তরের দেওয়া। আপনি আমার মত অজ্ঞ মানুষকে কোনওভাবেই নিজের উত্তরটি টুইট করতে চান কিনা তা আপনার উপর নির্ভর করে Up :)
মার্ক আমেরিকা

উত্তরটি ধরে নিয়েছে যে আমি একটি নতুন কী উত্পন্ন করতে চাই। যদি আমি কেবল কীরিং দিয়ে একটি বিদ্যমান কী নিবন্ধিত করতে চাই তবে কী হবে?
ডানকিক্সোট

@ ডনকুইক্সোট: ব্যবহারকারী 626052 দ্বারা নীচের উত্তরটি দেখুন
nnot101

7

আপনি কমান্ডটি দিয়ে একটি ssh কী তৈরি করতে পারেন:

ssh-keygen

তারপরে আপনি সার্ভারের সাথে আপনার কীটি এটির সাথে অনুলিপি করতে পারেন:

ssh serveruser@servername "echo `cat ~/.ssh/id_dsa.pub` >> ~/.ssh/authorized_keys" 

এখন আপনি স্বয়ংক্রিয়ভাবে আপনার ওয়েব সার্ভারে লগ ইন করতে পারেন


1
থার সার্ভারে কীটি অনুলিপি করতে আপনি যথাক্রমে ssh-copy-id -i ~/.ssh/id_dsa.pub serveruser@servernameবা ~/.ssh/id_rsa.pubযথাক্রমে ব্যবহার করতে পারেন । আসলে, আপনি কী ফাইলটির জন্য ডিফল্ট নাম ব্যবহার করলে আপনাকে এটি নির্দিষ্ট করতে হবে না।
কার্স্টেন থিল

5

এটি আপনার মধ্যে রাখুন ~/.bashrc

eval $(ssh-agent)
ssh-add ~/.ssh/where_ever_privake_key_is 

3
এটি হ'ল একমাত্র উত্তর যা প্রকৃত প্রশ্নের উত্তর দেয়। অন্যরা কেবলমাত্র একটি একক লক্ষ্য সার্ভারে ডিফল্ট পাবলিক কী যুক্ত করছে, এটি বিরক্তিকর যদি আপনার সার্ভারের বিভিন্ন সেটের জন্য দু'টি আলাদা থাকে।
nnot101

3

যদি আপনার কী পাসওয়ার্ড-কম হয় এবং ফাইলগুলির মধ্যে একটি হিসাবে নামকরণ করা হয় ( ~/.ssh/id_dsaবা ~/.ssh/id_rsa) সনাক্ত করার সময় ssh অনুসন্ধান করার চেষ্টা করবে , আপনাকে এটি আপনার এজেন্টে যুক্ত করতে হবে না।

কিন্তু। যদি এই ফাইলগুলি চুরি হওয়ার সামান্যতম সম্ভাবনা থাকে তবে আপনি যে কাউকে এই পরিচয়টি ব্যবহার করছেন এমন সার্ভারগুলিতে অ্যাক্সেসের অনুমতি দেওয়া হত । সংক্ষেপে, pwned।

আইএমএইচও, পাসওয়ার্ড-ব্যতীত ব্যক্তিগত কীগুলি একটি খারাপ অভ্যাস, এবং কেবলমাত্র এমন পরিবেশে ব্যবহার করা উচিত যেখানে ~/.ssh/authorized_keysখুব সীমাবদ্ধ।


1
আপনি লগ ইন করার সময় ssh-এজেন্ট আপনার ডিক্রিপ্টড প্রাইভেট কী রাখতে পারে, ওহ, এবং ssh-copy-id সার্ভারগুলিতে আপনার সর্বজনীন কীটিও অনুলিপি করতে পারে।
ফ্রাঙ্ক

2

একটি সংক্ষিপ্ত শেল স্ক্রিপ্ট লিখুন যা ssh-add চালাবে এবং তারপরে নীচের মতো সংযোগ করুন:

ssh-add ~/.ssh/your-key
ssh user@remotehost

তারপরে আপনি একটি কমান্ড দিয়ে আপনার হোস্টে ssh করতে পারেন।


1

এডাব্লুএস এর জন্য, পেম কীটি ডাউনলোড করুন এবং চালান:

ssh-add /path/to/pemfile.pem

এটি আমার পক্ষে কাজ করেছে, উবুন্টু 18.04। উত্স , অন্য কিছুর দরকার ছিল না।

এনবি : তবে এটি করার আগে 400 টি অনুমতি নির্ধারণ করা গুরুত্বপূর্ণ।

chmod 400 /path/to/pemfile.pem

তা না হলে আপনি একটি ত্রুটি পাবেন:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ @
সতর্কতা: বেসরকারী ব্যক্তিগত ফাইলটি! @ @@@@@@@@@@@@@@@@@@@@@@@ @ @@@@@@@@@@ '06/6' / home/toing_toing/blablabla.pem 'এর জন্য অনুমতিগুলি খুব বেশি খোলা আছে। এটি প্রয়োজন যে আপনার ব্যক্তিগত কী ফাইলগুলি অন্যদের দ্বারা অ্যাক্সেসযোগ্য নয়। এই ব্যক্তিগত কী উপেক্ষা করা হবে।



-2

আপনি কি অ্যামাজন ক্লাউড সম্পর্কে কথা বলছেন? আপনার ~ / .bashrc এ, পরিবেশের ভেরিয়েবলগুলি তৈরি করুন:

# Amazon
export EC2_PRIVATE_KEY=$HOME/Keys/pk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pem
export EC2_CERT=$HOME/Keys/cert-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pem
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/

হ্যাঁ, আমি মেঘের বিষয়ে কথা বলি, তবে এটি উদাহরণের মধ্যে
ফেলার

ঠিক আছে. সুতরাং কোনও পাসওয়ার্ড ছাড়াই একটি আরএসএ কী উত্পন্ন করুন: 'ssh-keygen -t rsa' এবং তারপরে উত্পন্ন সর্বজনীন কী (~ / .ssh / id_dsa.pub) দূরবর্তী সার্ভারের ~ / .ssh / অনুমোদিত_কিগুলি ফাইলটিতে সংযুক্ত করুন। এটি সম্পাদনের জন্য একটি ওয়ান-লাইনার অনেকেই দিয়েছিলেন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.