ইসিডিএসএ হোস্ট কী সম্পর্কে সতর্কতা ঠিক করবেন কীভাবে


287

আমি একটি উবুন্টু সার্ভার দিয়ে পাসওয়ার্ড-কম এসএসএইচ সেটআপ করার চেষ্টা করছি ssh-copy-id myuser@myserver, তবে আমি ত্রুটি পেয়ে যাচ্ছি:

সতর্কতা: 'মাইজারের' জন্য ইসিডিএসএ হোস্ট কী আইপি ঠিকানার '192.168.1.123' কী থেকে আলাদা

এটি কী কারণে ঘটছে এবং আমি কীভাবে এটি ঠিক করব? আমি .sshদূরবর্তী মেশিনে ডিরেক্টরিটি মুছে ফেলার চেষ্টা করেছি এবং ssh-keygen -R "myserver"স্থানীয়ভাবে চালাচ্ছি , তবে এটি ত্রুটিটি সমাধান করে না।


আমার ক্ষেত্রে, আমি ডোমেনের সাথে সার্ভার (আইপি) বাইন্ডটি পরিবর্তন করি, তারপরে The ECDSA host key for server has changed। আমার উপায় হল ডোমেন সম্পর্কিত সম্পর্কিত ক্যাশে স্ট্রিংটি সরিয়ে ফেলা ~/.ssh/known_hosts। তারপরে ssh কাজ করে।
নিনজা

উত্তর:


415

192.168.1.123স্থানীয় মেশিনে ক্যাশেযুক্ত কীটি সরান :

ssh-keygen -R 192.168.1.123

14
বাড়ি থেকে এসএসএইচিংয়ের সময়ে নতুন করে ডেবিয়ান সার্ভারটি ইনস্টল করার ক্ষেত্রে আমার পক্ষে কাজ করেনি। এছাড়াও, উত্তর বেশ পরিলক্ষিত হয়।
ক্রিস কে

/home/wf/.ssh/ज्ञ_hosts আপডেট হয়েছে। মূল বিষয়বস্তু / home/wf/.ssh/ज्ञ_hosts.old হিসাবে বজায় রয়েছে "সতর্কতা: স্থায়ীভাবে পরিচিত হোস্টগুলির তালিকায় আইপি ঠিকানা 'xxxx' এর জন্য ইসিডিএসএ হোস্ট কী যুক্ত করে।" প্রদর্শিত হয়। এবং তারপরে এটি কাজ করছে বলে মনে হচ্ছে
ওল্ফগ্যাং ফাহাল

13
আপনি কীটি অপসারণের পরিবর্তে আপডেট করতে পারেন। এর ssh-keyscan -t ecdsa my.server.domain >> ~/.ssh/known_hostsপরে ব্যবহার করুন আপনাকে প্রথমে হোস্টে সংযোগ করার সময় নতুন কীটি ভেরিফিকেট করতে হবে না।
অ্যালেক্স

2
যার জন্য এটি কাজ করতে সফল হয় না: আমি একই আইপি: 1 / এর উল্লিখিত আইপি ঠিকানা (xx.xx.xx.xx), ডোমেন (tomsihap.fr), সরবরাহকারীর প্রদত্ত ভিপিএস সার্ভারের বহুগুণ ঘটনাগুলি নিবন্ধিত করেছি ঠিকানা (vpsxxx.ovh.net)। এইগুলির জন্য ssh-keygen -R কাজ করেছিল।
tomsihap

আমার জন্য কাজ করেছে, তবে বিভ্রান্তি হতে পারে কোন হোস্ট থেকে এই আদেশটি চালানো উচিত? উত্তরটি ত্রুটিটি প্রদর্শন করে এমন একজনের কাছ থেকে। দ্বিতীয় প্রশ্নোত্তর আরও সুস্পষ্ট, তবে কেবল ক্ষেত্রে: কোন ঠিকানাটি ssh-keygen -R তে যেতে হবে? ঠিকানা যা ত্রুটি বিবৃতিতে চিত্রিত করে।
রাশ ব্যাটম্যান

62

আমার ক্ষেত্রে ssh-keygen -R ...সতর্কতা ঠিক করা হয়নি। আমার এর মতো অতিরিক্ত তথ্য ছিল:

Offending key for IP in /home/myuser/.ssh/known_hosts:8
Matching host key in /home/myuser/.ssh/known_hosts:24

আমি কেবল ম্যানুয়ালি সম্পাদনা করেছি ~/.ssh/known_hostsএবং লাইন 8 টি মুছে ফেলেছি ("আপত্তিজনক কী")। আমি পুনরায় সংযোগ দেওয়ার চেষ্টা করেছি, হোস্টটি স্থায়ীভাবে যুক্ত হয়েছিল এবং তারপরে সবকিছু ঠিকঠাক ছিল!


2
একটি যাদুমন্ত্র মত কাজ করে. আপনার সিস্টেমে প্রদর্শিত ফাইলগুলির সাথে sed -e '8d' /home/myuser/.ssh/known_hostsলাইন নম্বর 8এবং ফাইলের নাম প্রতিস্থাপন করে এটি এক লাইনে স্থির করতে পারে ।
অ্যালেক্স পি মিলার

এই পদ্ধতির সাথে আমার সমস্যাটি হ'ল এটি যদি কিছুটা বিভ্রান্ত হয় তবে যদি known_hosts:8শূন্য-সূচকযুক্ত মান বোঝায় বা না। এটি 1: 1 ম্যাপিংয়ের মাধ্যমে জানা ভাল ...
ড্যানিয়েল এফ

আমি লক্ষ্য করেছি যে আপনি যদি 2022 এর মতো একটি মানসম্মত বন্দর ব্যবহার করেন তবে এটি ঘটে। সেক্ষেত্রে আপনাকে করতে হবেssh-keygen -R [hostname]:2022
আলেকজান্ডার মালফাইট

19

আমি আমার ল্যান কম্পিউটার এবং আমার দুটি ওয়েবহোস্টিং অ্যাকাউন্টের মধ্যে প্রচুর পরিমাণে এসএস-ইনগিং করি, তাই আমি সমস্ত ধরণের প্রতিক্রিয়া বাছাই করেছি এবং এসএসএইচের সাথে শেষ করেছি, ssh -vযেখানে কোথায় কী ভুল হয়েছে তা ব্যবহার করে প্রমাণীকরণের সমস্যা সহ ।

সবেমাত্র এই সমস্যাটি সমাধান করে এবং উত্তরগুলি নিয়ে খুশি না হয়ে আমি নিজেকে "কেন" সত্যিই জানতে চেয়েছিলাম ...

আমার কেসটির ট্রিগারটি হ'ল: কাজের জায়গায় নতুন সার্ভার ওএস ইনস্টল করার পরে ওপেনশ-সার্ভার প্যাকেজ ইনস্টল করার পরে কাজের সার্ভারে হোস্ট কীগুলির একটি নতুন সেট তৈরি করা হয়েছিল। পূর্বে, আমার সমস্ত সার্ভারের ওএসগুলি উবুন্টু ছিল এবং এবার এটি ডেবিয়ানে পরিবর্তিত হয়েছিল (এবং আমি সন্দেহ করি যে অনুমতিগুলির মধ্যে একটি সংখ্যক পার্থক্য রয়েছে)।

যখন সমস্ত ওএসগুলি উবুন্টু ছিল এবং আমি কোনও সার্ভারের ওএস পুনরায় ইনস্টল করি, এতে প্রথম এসএসএইচ আসার পরে আমি এই ধরণের সতর্কতা পাই যা আমি উপরের নীরব সতর্কতার চেয়ে বেশি পছন্দ করি!

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
06:ea:f1:f8:db:75:5c:0c:af:15:d7:99:2d:ef:08:2a.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending key in /home/user/.ssh/known_hosts:4
RSA host key for domain.com has changed and you have requested strict checking.
Host key verification failed.

তারপরে আমি এসএসএস শুরু ~/.ssh/known_hostsকরে কম্পিউটারে খুলি , সেই লাইনটি মুছুন, পুনরায় সংযোগ করুন এবং এটি ঘটে:

chris@home ~ $ ssh work
The authenticity of host '[work]:11122 ([99.85.243.208]:11122)' can't be established.
ECDSA key fingerprint is 56:6d:13:be:fe:a0:29:ca:53:da:23:d6:1d:36:dd:c5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[work]:11122 ([99.85.243.208]:11122)' (ECDSA) to the list of known hosts.
Linux rock 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64

এই বিটটি সম্পর্কে: 11122 হ'ল বন্দর নম্বরটি আমি ফায়ারওয়াল থেকে এসএসএইচ রুট করি

আমি প্রাক্তন উবুন্টু সার্ভার থেকে ব্যাকআপ চেক করেছি এবং আমার নতুন ডেবিয়ান ইনস্টলের বিপরীতে:

Ubuntu:                                            Debian:
# Package generated configuration file             # Package generated configuration file
# See the sshd(8) manpage for details              # See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for      # What ports, IPs and protocols we listen for
Port 22                                            Port 22
# Use these options to restrict which interface    # Use these options to restrict which interfaces
#ListenAddress ::                                  #ListenAddress ::
#ListenAddress 0.0.0.0                             #ListenAddress 0.0.0.0
Protocol 2                                         Protocol 2
# HostKeys for protocol version 2                  # HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key                  HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key                  HostKey /etc/ssh/ssh_host_dsa_key
------------------------------------------------   HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security    #Privilege Separation is turned on for security
UsePrivilegeSeparation yes                         UsePrivilegeSeparation yes

হ্যাঁ, সম্ভবত, হোস্ট সম্প্রতি একডসা কী ব্যবহার করা শুরু করেছে, যা ইদানীং উবুন্টুর পরিবর্তনের উপর ভিত্তি করে একটি আপডেটের জন্য দোষ দেব। আমি গণনা করা রক-সলিড লিনাক্স ওএস থেকে উবুন্টুর স্থানান্তর হ'ল কেন আমি এবার ডিবিয়ান ইনস্টল করেছি।

আমি একডিসিতে একটি সিকিউরিটি পড়েছি SE এসই কিউ / এ, এবং ইতোমধ্যে sshd_configআমার নতুন ডেবিয়ান সার্ভার থেকে সেই লাইনটি সরিয়ে ফেলেছি। (এবং দৌড়ে service ssh restart)


2
পাশাপাশি পাশের তুলনা ব্লকটির জন্য +1। আপনি কি "রক-সলিড লিনাক্স ওএস থেকে উবুন্টুর স্থানান্তর" এর অর্থ দাবি করে কোনও URL যুক্ত করতে পারবেন?
বিগুডার

@ বিগুডার এটি আমার মতামত এবং সম্পূর্ণ কয়েক বছর ধরে আমার নিজস্ব RAID ফাইলসভারটি স্থাপনের উপর ভিত্তি করে। : / উত্তরের জন্য ক্র্যাপ করুন, তবে গুগল করা শুরু করুন ubuntu debian serverএবং আপনি কী বলতে চাইছেন তা আপনি দেখতে পাবেন।
ক্রিস কে

1
@ ক্রিস্ক আপনি স্যার, একজন বস। বিস্তারিত, তবুও সংক্ষিপ্ত, উত্তরের জন্য ধন্যবাদ।
সরগস

6

প্রম্পট প্রতিবার ঘটে কারণ ডায়নামিক অ্যাড্রেসিংয়ের সময় আইপি অ্যাড্রেসগুলি সমস্ত সময় পরিবর্তন হয়। স্ট্যাটিক আইপি ব্যবহার করার চেষ্টা করুন যাতে আপনাকে কেবল একবারে কীটি যুক্ত করতে হবে।


1
ভাল কথা, কেউ কি ডায়নামিক আইপিসের উল্লেখ করেছে?
ক্রিস কে

6

ssh-keygen -f "/root/.ssh/ज्ञ_hosts" -আর 192.168.1.123

এটি পরিচিত_হোস্ট.ল্ডের অধীনে বিদ্যমান কীগুলি প্রতিস্থাপন করবে এবং একটি নতুন তৈরি করুন। এই সমাধানটি আমার জন্য একই পরিস্থিতিতে কাজ করেছিল


3

আমি আমার। / .Ssh / কনফিগারেশনে নিম্নলিখিত লাইনগুলি যুক্ত করেছি, এইভাবে সমস্ত .local ঠিকানার জন্য কঠোর হোস্ট চেকিং অক্ষম করে। (ডিএইচসিপি ঠিকানা বরাদ্দের সাথে, আমার স্থানীয় মেশিনগুলির আইপি ঠিকানা সর্বদা পরিবর্তিত হয়)

host *.local
    StrictHostKeyChecking no

আপনি এখনও সতর্কতা পেয়েছেন, তবে তা আমার পক্ষে ঠিক আছে।


2

আপনি কি সংযোগের জন্য একই ব্যবহার করছেন?

আপনি যদি জন জন এর মতো স্থানীয় পিসিতে লগইন হয়ে থাকেন এবং ব্যবহারকারী অ্যাডল্ফ @ বি এর মতো সার্ভার বিয়ের সাথে সংযুক্ত হয়ে থাকেন এবং সবকিছু ঠিক আছে, তার মানে এই নয় যে আপনি যদি ব্যবহারকারী জেনের মতো স্থানীয় পিসিতে লগইন হয়ে থাকেন এবং সার্ভারের সাথে সংযোগ স্থাপন করেন তবে সবকিছু ঠিক আছে বি ব্যবহারকারী অ্যাডলফ @ বি এর মতো

আপনি যদি পাসওয়ার্ড ছাড়াই পিসি থেকে ব্যবহারকারী বেদা হিসাবে সার্ভার বি তে লগইন করতে চান তবে , পিসি থেকে সমস্ত এই আদেশটি ব্যবহার করে দেখুন :

ssh-keygen -t rsa

এই কমান্ডটি কী তৈরি করে এবং কীটিতে ফাইলটি সংরক্ষণ করে। দয়া করে পাসফ্রেজটি খালি ছেড়ে দিন ।

ssh Beda@B mkdir -p .ssh

এই কমান্ডটি ডিরেক্টরি তৈরি করে, যদি সেগুলি ইতিমধ্যে বিদ্যমান না থাকে। অন্যথায়, একটি ত্রুটি বার্তা মুদ্রণ করবেন না।

cd ~/.ssh

এই কমান্ডটি ডিরেক্টরিটি আপনার ব্যবহারকারীদের হোম ডিরেক্টরিতে পরিবর্তন করে the

cat id_rsa.pub | ssh Beda@B 'cat >> .ssh/authorized_keys'

এই কমান্ডটি id_rsa.pub (আপনার সর্বজনীন কী) ফাইলটি সার্ভারের অনুমোদিত_কিগুলিতে মুদ্রণ করে ।

গুরুত্বপূর্ণ: বেদা হ'ল সার্ভারে আপনার ব্যবহারকারীর নাম যা আপনি সংযুক্ত করছেন, বি আপনার সার্ভারের আইপি।

এখন, আপনি পাসওয়ার্ড বা পাসফ্রেজ ছাড়াই সার্ভার বিয়ের সাথে সংযোগ করতে পারেন:

ssh Beda@B

1
বা সমস্ত অতিরিক্ত ঝামেলা ছাড়াই আপনার id_rsa.pub কী দ্বারা একটি অনুমোদিত_কিজ ফাইলটি পপুলেট করতে কেবল ssh-copy-id ব্যবহার করুন।
ব্ল্যাকব্যাট

1

থ্রেড এখানে সাহায্য করতে পারে।

মূলত, আপনি সেই হোস্টের জন্য আরএসএ এবং ইসিডিএসএ কী উভয়ই সরিয়ে ফেলতে চান, তারপরে ssh-keyscanএগুলিকে known_hostsএমনভাবে আপনার ফাইলে রাখার জন্য ব্যবহার করুন যা এই দ্বন্দ্ব সৃষ্টি করবে না। যখন আমার একই সমস্যা ছিল তখন এটি আমার পক্ষে কাজ করেছিল।


1

প্রশ্ন: এর কারণ কী, ...?

সুতরাং ssh সার্ভার হোস্ট কী পরিবর্তিত হয়েছে। পরিবর্তনের কারণ কি? এটা বলা কঠিন. এখানে কিছু অনুমান দেওয়া হল:

  • এসআইএসডি কি মাইজারেরে এসসিডিএসএ কীগুলি ব্যবহার শুরু করেছে, তাই এটি কী কী নতুন ধরণের?
  • মাইজারভারটি কি সম্প্রতি ইনস্টল করা হয়েছিল?
  • এসআইএসডি কি সম্প্রতি মাইজারে পুনরায় ইনসাল করা হয়েছে যাতে নতুন এসএসএস হোস্ট কী উত্পন্ন হয়েছিল?
  • কেউ কি sshd হোস্ট কী পুনরায় উত্পন্ন বা প্রতিস্থাপন করেছে?
  • মাইজারের আইপি ঠিকানাটি কি এমন কোনও পরিবর্তন হয়েছে যাতে কোনও পৃথক হোস্ট সেই আইপি ঠিকানার উত্তর দিচ্ছে?

প্রশ্ন: ... এবং আমি কীভাবে এটি ঠিক করব?

অন্যরা ইতিমধ্যে উত্তর হিসাবে, আপনার অ্যাকাউন্টে ক্যাশেড মাইজারের জন্য ক্যাশেড ইসিডিএসএ হোস্ট কীটি সরান।


2
ভাল পরামর্শ, কিন্তু আসলে প্রশ্নের উত্তর দেয় না। এমনকি প্রশ্নের উত্তর দেওয়ার চেষ্টাও করে না।
বোটকোডার

1

এই ত্রুটিটি দীর্ঘদিন আমাকে বিরক্ত করে চলেছে। কিছু কারণে এটি একটি পার্থক্য করেছে যে আমি এটি করব কিনা

ssh host

অথবা

ssh host.domain

https://askubuntu.com/questions/87449/how-to-disable-strict-host-key-checking-in-ssh

তারপরে আমাকে কনফিগার ফাইলটি পরিবর্তনের বিকল্পের দিকে চিহ্নিত করল। প্রক্রিয়াটি স্বয়ংক্রিয় করার জন্য আমার স্ক্রিপ্টটি https://askubuntu.com/a/949731/129227 দেখুন ।


1
কনফিগারেশন মান ব্যবহার করে CanonicalizeHostnameএবং CanonicalDomainsকঠোর চেকিং অপসারণ এড়ানো হবে এবং ssh হোস্ট এবং হোস্ট.ডোমেনকে একই হিসাবে বিবেচনা করবে।
ব্ল্যাকব্যাট

0

আমি সুরক্ষিত শেলটি আনইনস্টল করে এবং পুনরায় ইনস্টল করে এটি একটি Chromebook এ স্থির করেছি ... এটি একটি কবজির মতো কাজ করেছে।


এটি ওভারকিল আমার উত্তর এখানে একটি সহজ সমাধান দেখুন।
অ্যালেক্স ইউরশা

0

known_hostsChrome OS- এ কীভাবে একটি পরিচিত হোস্ট ফিঙ্গারপ্রিন্ট ( ফাইল থেকে ) সরাবেন তা এখানে রয়েছে :

সংযোগ ব্যর্থ হলে ssh আউটপুটে আপত্তিকর হোস্ট এন্ট্রিটির সূচকটি সন্ধান করুন। আপত্তিজনক সূচীর নীচের লাইনে উদাহরণস্বরূপ 7 :

Offending ECDSA key in /.ssh/known_hosts:7

সুরক্ষিত শেল উইন্ডোর জাভাস্ক্রিপ্ট কনসোল ( CTRL+ Shift+ J) খুলুন এবং INDEXযথাযথ মান (উদাহরণস্বরূপ 7 ) এর পরিবর্তে নিম্নলিখিতটি টাইপ করুন :

term_.command.removeKnownHostByIndex(INDEX);

এই সমাধানটি লিও গাগল ব্লগ থেকে ধার করা হয়েছিল ।

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