ইসিডিএসএর পরিবর্তে কীভাবে আমি এসএসএইচকে আরএসএ কী দিতে বাধ্য করতে পারি?


16

প্রথমবার সার্ভার অ্যাক্সেস করার পরে, কীভাবে আমি এসএসএইচকে আমাকে আরএসএ কী দিতে বাধ্য করতে পারি এবং যদি ব্যবহারকারী অনুমোদন দেয় তবে স্বয়ংক্রিয়ভাবে এটি সংরক্ষণ করতে পারি?

বর্তমানে এটি আমাকে ইসিডিএসএ কী সরবরাহ করছে। কারণ আমি ইতিমধ্যে আরএসএ কী জানি, তাই আমি এই মুহুর্তে আরএসএ কী উপস্থাপন করতে পছন্দ করব।

আমি চেষ্টা করেছি:

ssh -o RSAAuthentication=yes user@server

দুর্ভাগ্যক্রমে এটি আমাকে একটি ইসিডিএসএ কী এবং Are you sure you want to continue connecting (yes/no)?বার্তা দেয়।


আমারও একই অবস্থা। সার্ভার এ ক্লায়েন্ট বি। বি তে: এসএসএ প্রথমে আপনাকে কীটি জিজ্ঞাসা করবে। ক্লিনেন্ট সি-তে এসএসএস এ আপনাকে প্রথমে পাসওয়ার্ডের জন্য জিজ্ঞাসা করবে, ক্লায়েন্ট সি-এর ইসিডিএসএ কী ব্যবহার করার ব্যর্থ চেষ্টা করার পরে, আমি এ-এর লগে এটি দেখেছি, যদি আমি সি-তে আরএসএ কী প্রিললোড করি, তবে এসএসএ সুখে সংযোগ করবে । আমি কীভাবে প্রথম প্রচেষ্টা হিসাবে ইসিডিএসএ কী ব্যবহার থেকে সিটিকে প্রতিরোধ করব?
কেমিন ঝো

উত্তর:


14

HostKeyAlgorithmsকনফিগারেশন ভেরিয়েবল থেকে ইসিডিএসএ আলগোরিদিমগুলি সরিয়ে দিয়ে ।

ssh -o HostKeyAlgorithms=ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-rsa,ssh-dss user@server

আমি খালি ডিফল্ট তালিকা থেকে সমস্ত ইসিডিএসএ অ্যালগরিদম সরিয়েছি ।

আপনি অবশ্যই এটি .ssh/configসেই মেশিনের জন্য রাখতে পারেন:

Host: server
    HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-rsa,ssh-dss

ওপেনএসএসএল এর জন্য, ১) হোস্টের পরে কোনও কোলন নেই এবং ২) আপনি এটি পোস্ট করার পরে ডিফল্ট তালিকাটি বদলে গেছে বলে মনে হচ্ছে। HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,ssh-rsaপরিবর্তে চেষ্টা করুন।
কাপলিনেটর

6

ইসিডিএসএ নতুন ডিফল্ট হওয়ায় আরএসএ ব্যবহার করবেন না।

সার্ভারে এটি করুন: ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub এবং সেই নম্বরটি রেকর্ড করুন।

ক্লায়েন্টে আপনি হোস্টের কাছে এসএসএইচ করতে পারেন এবং যদি এবং যখন আপনি একই নম্বরটি দেখেন, আপনি প্রম্পটটির Are you sure you want to continue connecting (yes/no)?যথাযথ উত্তর দিতে পারেন । তারপরে ইসিডিএসএ কী ভবিষ্যতে ব্যবহারের জন্য ক্লায়েন্টে রেকর্ড হবে।


3
হ্যাঁ তবে কীভাবে আমার যদি কোনও পুরানো অ্যাপ্লিকেশন থাকে যার সাথে একডসা আপডেট করার ব্যবসায়ের সিদ্ধান্ত না আসা পর্যন্ত সামঞ্জস্যতা বজায় রাখতে আরএসএ প্রয়োজন?
উত্সাহী

@ রবার্টসিমার কেবলমাত্র মূল প্রশ্ন পোস্টারই গ্রহণযোগ্য উত্তর পরিবর্তন করতে পারে। আমি তা করতে অক্ষম
উত্সাহী

1
H2ONaCl: দয়া করে আপনার গৃহীত উত্তর পরিবর্তন করুন। আপনি যা বলেছিলেন তা এটি করে না। @ এথুসিয়াস্টিকজ দুঃখিত, মিক্সআপ।
রবার্ট সিমার

ডিফল্ট (কর্তৃপক্ষের কাছে আবেদন) এবং নতুন (অভিনবত্বের কাছে আবেদন) অগত্যা আরও ভাল বোঝানো হয় না। আরএসএকে এখনও শক্তিশালী হিসাবে বিবেচনা করা হচ্ছে ... আপনি আরও শক্তি চাইলে বিটগুলি কেবল 4096 এ আপ করুন (2048 শীঘ্রই অপ্রচলিত হতে পারে)। এবং আপনি যদি একটি ভাল ইসি অ্যালগো চান তবে এডি 25519 ব্যবহার করুন। ইসিডিএসএ সফল হয়েছে কারণ এটি দুর্বল এনআইএসটি বক্ররেখা ব্যবহার করে যা সম্ভবত এমনকি ব্যাকডোরডও হয়; এটি কিছু সময়ের জন্য একটি সুপরিচিত সমস্যা হয়ে দাঁড়িয়েছে। সুতরাং উত্তরাধিকার সহায়তার জন্য, আরএসএ সক্ষম করুন, এবং আদর্শ আদর্শের জন্য, এজ 25519 ব্যবহার করুন ... সর্বদা ডিএসএ অক্ষম করুন যা দীর্ঘ অপ্রচলিত (একটি বড় কারণ স্থির আকার 1024 বিট কী) এবং ইসিডিএসএ অক্ষম করুন। আরও জন্য ssh- অডিট চেষ্টা করুন।
পিটার

5

হ্যাঁ, শীঘ্রই ইসিডিএসএতে স্যুইচ করুন, তবে এর মধ্যে এটি চেষ্টা করুন:

ssh -o HostKeyAlgorithms=ssh-rsa -o FingerprintHash=md5 user@example.com

এটি আমার সিস্টেমে "ওপেন কনফিগারেশন বিকল্প: ফিঙ্গারপ্রিন্টশ" দেয় (ওপেনএসএসএইচ_6.6.1 পি 1)।
সোরেন জর্নস্ট্যাড

1
@ সোরেনজর্নস্টাড, FingerprintHashবিকল্পটি অপ্রয়োজনীয়, কেবল পুরো অংশটি ছেড়ে দিন।
লুকাস

2

আমি এই লাইনটি কেবল যুক্ত করেছি

HostKeyAlgorithms ssh-rsa

প্রতি

/etc/ssh/sshd_conf

এবং এটি এই সংস্করণে দুর্দান্ত কাজ করছে।

OpenSSH_7.7p2 ubuntu-4ubuntu2.2

1

অ্যালগরিদমের পুরানো তালিকাটি সন্ধানের জন্য এটিতে টাম্বলবিডের উত্তরটির উন্নতি করতে যার মধ্যে একটি মৃত লিঙ্ক রয়েছে।

প্রথমে অ্যালগরিদমের একটি তালিকা সম্পর্কে সিদ্ধান্ত নিন। পুরানো তালিকাটি খুঁজতে, ব্যবহার করুন ssh -vv:

ssh -vv somehost

এবং "হোস্ট কী অ্যালগরিদম: ..." এর মতো 2 লাইনের সন্ধান করুন যেখানে প্রথমটি সার্ভারের অফার হিসাবে উপস্থিত হবে এবং দ্বিতীয়টি ক্লায়েন্টের। অথবা এই দুটি লাইন স্বয়ংক্রিয়ভাবে বাছাই করতে, এটি চেষ্টা করুন (এবং হিট সিটিআরএল + ডি থেকে বেরিয়ে আসার জন্য):

ssh -vv somehost 2>&1 | grep "host key algorithms:"

এখন এটি ফিল্টার করুন ... আপনারা সমস্ত ডিএসএস / ডিএসএগুলি অপসারণ করা উচিত যেহেতু তারা দীর্ঘকালীন অপ্রচলিত, এবং আপনি এ্যাকডসা (যেমন আমিও) অপসারণ করতে চেয়েছিলেন, উদাহরণস্বরূপ যদি আপনার কাছে থাকে:

ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

আপনার সাথে শেষ করা উচিত:

ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

এখন আপনার কনফিগারটি সম্পাদনা করুন। আপনার নিজস্ব কনফিগারেশনের জন্য:

vim ~/.ssh/config

সিস্টেম প্রশস্ত কনফিগারেশনের জন্য:

sudo vim /etc/ssh/ssh_config

বিশ্বব্যাপী একটি নতুন লাইন যুক্ত করুন:

HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

বা নির্দিষ্ট হোস্টের জন্য (সার্ভার ওয়াইড কনফিগারেশনের জন্য আদর্শ নয়):

Host somehost
    HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

আমি প্রবেশ করানো তালিকার পরিবর্তে, ssh -vvআউটপুট থেকে প্রাপ্ত তালিকাটি পেস্ট করুন , "হোস্ট কী অ্যালগরিদম:" অংশকে অন্তর্ভুক্ত না করে।


0

কিছু পয়েন্ট গুলো বিভ্রান্ত করছে যে বিদ্যমান ডিফল্ট থেকে কী অ্যালগরিদমগুলি সরিয়ে ফেলা সম্ভব - সর্বোচ্চ স্তরের কীগুলি ssh-keygen -t ras -a -b 4096 -a 113 ব্যবহার করে সেরা সুরক্ষার জন্য নতুন RSA-sha2 / 256/512 এবং ed25519 কীগুলি রয়েছে জেন থেকে লিগ্যাসি সমর্থনটি স্পষ্টতই ssh সংবাদ পড়ছে যে ssh1 সম্পূর্ণরূপে চলে যাবে - এর 45 বিট এবং 96 বিট সর্বাধিক - ডিএসএ কীগুলি হ্রাস করা হবে। এটি 128-1024 বিট সর্বাধিক হ্যাকযোগ্য পাওয়া গেছে fixed (সম্ভবত এনএসএ তা করেছে এবং ডিবাগ কোড হিসাবে লম্পট / অজুহাতটি রেখেছিল- এটির নামকরণকে হৃদয়যুক্ত বলে মনে করে অত্যন্ত সন্দেহ) তাই নিরাপদ আরএসএ মূল কাঠামোগত সমস্ত উচ্চ মূল্যের ব্যয়কে আরও কার্যকর করতে হবে এবং উচ্চতর মান এগিয়ে নিয়ে যেতে হবে। আপনি কী / etc / ssh / sshd_config তে বর্ণিত হিসাবে কীগুলি ব্যবহার করতে চান তা সেট করুন 2 কী অথ 3 কী কাজ করার চেষ্টা করুন যেমন: sshd_config "প্রমাণীকরণমাথগুলি পাবলিককি, পাবলিককি, পাবলিককি" - এটি নিশ্চিত করুন যে এসএস-কিউ কেক্সের তালিকা উভয়ই এ এবং বি সার্ভার বা ডেস্কটপগুলির সাথে মিলছে যেমন তাদের আউটপুটটিতে পৃথক পৃথক রয়েছে - এবং নিশ্চিত করুন যে একই কীটি এক্স্হং অ্যালগরিদমগুলি মিলছে। উত্পাদনের ক্ষেত্রে এক্সডিএসএ কীগুলি হ'ল চীনগুলি দুর্বলভাবে ব্যবহার করা উচিত নয়। বা পান - কেএক্সচেঞ্জ আংশিক অ্যাক্সেস নিরাপদ চিত্র প্রত্যাখ্যান করেছে। এটি অনুসন্ধানের জন্য প্রচুর ভাল ইনফোজ কেবল রোগী।


2
আপনি কি পাঠ্যের এই প্রাচীরটিকে ভেঙে ফেলার চেষ্টা করতে পারেন তাই এটি অনুসরণ করা আরও সহজ? দয়া করে বিন্যাস গাইড এবং ফর্ম্যাট কোড এবং পাঠ্য ফাইলের বিষয়বস্তু কোড হিসাবে ব্যবহার করুন এবং এটি যদি বিষয়গুলি আরও পরিষ্কার করে দেয় তবে সেগুলি তাদের নিজস্ব লাইনে রাখুন। আমি আপনার উত্তরটি যদি তা অনুসরণ করতে পারি তবে আমি খুশিতে সম্পাদনা করব তবে আমি তা করতে পারি না।
Zanna

-5

অথবা, আপনি যদি আরএসএ কী পদ্ধতির বিষয়ে জোর দিয়ে থাকেন তবে আপনি যে ssh-keygen -t rsaসার্ভারে এসএসএইচ করতে চান সেটিতে টাইপ করতে পারেন ।

এটি '~ / .ssh / id_rsa' এর অধীনে আরএসএ পাবলিক এবং প্রাইভেট কী তৈরি করা উচিত। এখন আপনাকে যা করতে হবে তা হ'ল যে $HOME/.ssh/authorized_keysসমস্ত মেশিন থেকে আপনি আপনার আরএসএ কীগুলি তৈরি করেছেন সেই মেশিনে ছাঁটাই করার ইচ্ছে আছে machines

এবং তারপর ফিরে এবং শিথিল!


1
আপনি বুঝতে পেরেছেন যে প্রশ্নটি ক্লায়েন্ট-সাইড কী সম্পর্কে নয় সার্ভার কী সম্পর্কে?
0xC0000022L
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.