পরিচিত_হোস্টগুলি প্রতিস্থাপন করতে ডিএনএসে এসএসএস ফিঙ্গারপ্রিন্টগুলি কনফিগার করা ব্যর্থ


13

এসএসএইচএফপি রেকর্ডগুলি নিম্নরূপে এসএসএস সার্ভারে তৈরি করা হয়েছিল এবং তারপরে জোড়ে জোড়ায় যুক্ত করা হয়েছিল:

$ ssh-keygen -r www.test.us.
www.test.us. IN SSHFP 1 1 ad04dfaf343a93beeb939eed1612168f7eadbed7
www.test.us. IN SSHFP 2 1 432209c72c4f0e99546d601dd96c04ce804191f9

প্রয়োজনীয় রেকর্ডগুলি ডিএনএসের মাধ্যমে এসএসএস ক্লায়েন্টের কাছ থেকে পাওয়া যাবে:

$ dig www.test.us any
;; QUESTION SECTION:
;www.test.us.           IN  ANY

;; ANSWER SECTION:
www.test.us.        120 IN  SSHFP   1 1 AD04DFAF343A93BEEB939EED1612168F7EADBED7
www.test.us.        120 IN  SSHFP   2 1 432209C72C4F0E99546D601DD96C04CE804191F9
www.test.us.        120 IN  A   192.168.1.50

তবে সংযোগের সময় ক্লায়েন্টের উপর ssh এগুলি খুঁজে পেতে ব্যর্থ হয়:

$ rm .ssh/known_hosts
$ ssh -vo VerifyHostKeyDNS=yes www
OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/test/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug1: Connecting to www [192.168.1.50] port 22.
debug1: Connection established.
debug1: identity file /Users/test/.ssh/id_rsa type 1
debug1: identity file /Users/test/.ssh/id_rsa-cert type -1
debug1: identity file /Users/test/.ssh/id_dsa type -1
debug1: identity file /Users/test/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p2_hpn13v11
debug1: match: OpenSSH_5.8p2_hpn13v11 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 69:dc:47:97:e1:a5:c9:07:4a:2b:9e:3c:a2:2b:c8:8c
DNS lookup error: name does not exist
The authenticity of host 'www (192.168.1.50)' can't be established.
RSA key fingerprint is 69:dc:47:97:e1:a5:c9:07:4a:2b:9e:3c:a2:2b:c8:8c.
No matching host key fingerprint found in DNS.
Are you sure you want to continue connecting (yes/no)?

এটি কেন ব্যর্থ হচ্ছে সে সম্পর্কে কোনও ধারণা? আমি জানি যে ডিএনএসএসইসিটিকে সুরক্ষিত করার জন্য প্রয়োজনীয় এবং ডিএনএসএসসি বর্তমানে সক্ষম নয় বলে আমার একটি সতর্কতা পাওয়া উচিত। আমি এটি অতিরিক্ত সমস্যা হিসাবে মোকাবেলা করার আগে ডিএনএসএসইসি ছাড়াই প্রথমে এই কাজটি করার প্রত্যাশা করছি।

ওপেনএসএসএইচ_5.8p2_hpn13v11 সহ এসএসএস সার্ভারটি ফ্রিবিএসডি 9.1 এবং বিআইএনএনডি 9.8.3-পি 4 ব্যবহার করে ডিএনএসকে হোস্ট করছে। আমি ওএসএস 10.8.2 থেকে ওপেনএসএসএইচ_5.9 পি 1 এর সাথে ওপেনএসএসএইচ_6.1 পি 1 এর সাথে আর্চ লিনাক্স 3.6.10-1-আর্চ থেকে সংযোগ দেওয়ার চেষ্টা করেছি।

হালনাগাদ

এটির সমস্যা সমাধানের আরও চেষ্টা করার জন্য, আমি একটি নতুন ওপেনবিএসডি 5.2 ভিএম দাঁড়াল যা এতে ওপেনএসএসএইচ_6.1 এ একটি এসএস সার্ভার হিসাবে নির্মিত। যেহেতু ওপেনএসএসএইচ সার্ভারের অন্যান্য সমস্ত বাস্তবায়ন ওপেনবিএসডি একের বন্দর, অবশ্যই এটি কাজ করা উচিত। সার্ভারে আমি এসএসএইচএফপি রেকর্ড তৈরি করি:

# ssh-keygen -r vm1.test.us.  
vm1.test.us. IN SSHFP 1 1 419c5338920e11183380d81f002fc998389b944f
vm1.test.us. IN SSHFP 1 2 cb5bbbf5aef231f57a1a4dcf1e790f1be032b124d0d591023f33cfd5f91ec556
vm1.test.us. IN SSHFP 2 1 0fdf92ce946b5cfee5f96a3e1ef710edc50280ff
vm1.test.us. IN SSHFP 2 2 f2ee7334ee9f9a426f51f20af8f4bc7155d567c9d38a6bffaa6c643af405711e
vm1.test.us. IN SSHFP 3 1 b5e94320f0bc0b46cc6627ca7221679a65c79962
vm1.test.us. IN SSHFP 3 2 60704213a0bbd8dae813d113bfe4ae190a780b89836e6e1c567b7cfde89805f8

আমি এগুলিকে ফ্রিবিএসডি বাইন্ড সার্ভারে যুক্ত করি এবং নামটি পুনরায় লোড করি। তারপরে আমি রেকর্ডগুলি অ্যাক্সেস করতে পারি কিনা তা পরীক্ষা করুন:

$ host -t any vm1
vm1.test.us has SSHFP record 1 1 419C5338920E11183380D81F002FC998389B944F
vm1.test.us has SSHFP record 1 2 CB5BBBF5AEF231F57A1A4DCF1E790F1BE032B124D0D591023F33CFD5 F91EC556
vm1.test.us has SSHFP record 2 1 0FDF92CE946B5CFEE5F96A3E1EF710EDC50280FF
vm1.test.us has SSHFP record 2 2 F2EE7334EE9F9A426F51F20AF8F4BC7155D567C9D38A6BFFAA6C643A F405711E
vm1.test.us has SSHFP record 3 1 B5E94320F0BC0B46CC6627CA7221679A65C79962
vm1.test.us has SSHFP record 3 2 60704213A0BBD8DAE813D113BFE4AE190A780B89836E6E1C567B7CFD E89805F8
vm1.test.us has address 192.168.1.60


$ dig -t any vm1.test.us
;; QUESTION SECTION:
;vm1.test.us.           IN  ANY

;; ANSWER SECTION:
vm1.test.us.        120 IN  SSHFP   1 2 CB5BBBF5AEF231F57A1A4DCF1E790F1BE032B124D0D591023F33CFD5 F91EC556
vm1.test.us.        120 IN  SSHFP   2 1 0FDF92CE946B5CFEE5F96A3E1EF710EDC50280FF
vm1.test.us.        120 IN  SSHFP   2 2 F2EE7334EE9F9A426F51F20AF8F4BC7155D567C9D38A6BFFAA6C643A F405711E
vm1.test.us.        120 IN  SSHFP   3 1 B5E94320F0BC0B46CC6627CA7221679A65C79962
vm1.test.us.        120 IN  SSHFP   3 2 60704213A0BBD8DAE813D113BFE4AE190A780B89836E6E1C567B7CFD E89805F8
vm1.test.us.        120 IN  SSHFP   1 1 419C5338920E11183380D81F002FC998389B944F
vm1.test.us.        120 IN  A   192.168.1.60

রেকর্ডগুলি পরিষ্কারভাবে ডিএনএসের উপর পরিবেশন করা হচ্ছে, তাই আমি ssh ব্যবহার করার চেষ্টা করি:

$ rm .ssh/known_hosts
$ ssh -vo VerifyHostKeyDNS=yes root@vm1
OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to vm1 [192.168.1.60] port 22.
debug1: Connection established.
debug1: identity file /Users/test/.ssh/id_rsa type 1
debug1: identity file /Users/test/.ssh/id_rsa-cert type -1
debug1: identity file /Users/test/.ssh/id_dsa type -1
debug1: identity file /Users/test/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.1
debug1: match: OpenSSH_6.1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA d8:01:b5:b2:3e:c7:55:ce:19:c1:6d:77:39:92:7d:0f
DNS lookup error: name does not exist
The authenticity of host 'vm1 (192.168.1.60)' can't be established.
RSA key fingerprint is d8:01:b5:b2:3e:c7:55:ce:19:c1:6d:77:39:92:7d:0f.
No matching host key fingerprint found in DNS.
Are you sure you want to continue connecting (yes/no)? 

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

Update2

ঠিক আছে, এখানে আমার প্যাকেট ক্যাপচার ফলাফল। ssh www; মান সঙ্গে ব্যর্থ

No matching host key fingerprint found in DNS.

এবং প্যাকেট ক্যাপচার দেখায় যে ডিএনএস অনুসন্ধানের জন্য একটি রেকর্ড ফিরিয়ে দিতে ব্যর্থ।

mbp13.test.us   www.test.us DNS Standard query 0x1c5e  SSHFP www
www.test.us   mbp13.test.us DNS Standard query response 0x1c5e No such name

Ssh www.test.us এর সাথে তুলনা করুন; যা বার্তার সাথে ব্যর্থ হয়

No matching host key fingerprint found in DNS.

তবে প্যাকেট ক্যাপচার দেখায় যে ডিএনএস আসলে রেকর্ডটি দেয়।

mbp13.test.us   www.test.us DNS Standard query 0x0ebd  SSHFP www.test.us
www.test.us   mbp13.test.us DNS Standard query response 0x0ebd  SSHFP SSHFP`

প্রথমত, এটি একটু উদ্বেগজনক যে উভয় ক্ষেত্রে ত্রুটি বার্তা একই is আমি কেস 1 স্থির করতে কিছু রেকর্ড যুক্ত করতে পারি যেখানে কোনও রেকর্ড ফেরানো হয় না, তবে বড় সমস্যাটি হল কেস 2 D ডিএনএস কাজ করে এবং এসএসএইচএফপি রেকর্ডগুলি এসএসএস ক্লায়েন্টকে ফিরিয়ে দেওয়া হচ্ছে। ডিএনএস ক্যোয়ারী প্রতিক্রিয়ার পরে কোনও প্যাকেট প্রেরণ করা হয় না এবং এসএসএস ক্লায়েন্ট অবিলম্বে কোনও মিলে যাওয়া ফিঙ্গারপ্রিন্ট বার্তা প্রদর্শন করে। এর অর্থ হয় যে সমস্ত এসএসএস ক্লায়েন্টের সাথে আমি পরীক্ষা করছি সেগুলি ভেঙে গেছে বা ডিএনএসে সঞ্চিত ফিঙ্গারপ্রিন্টটি ভুল এবং মিলছে না। আমি সন্দেহ করি এটি ক্লায়েন্ট তাই ডিএনএসে আঙুলের ছাপটি ভুল কেন? এই পোস্টের একেবারে শুরুর দিকে বর্ণিত হিসাবে এসএসএইচ সরঞ্জামগুলি এসএস-কিজেজনে নির্মিত থেকে আঙুলের ছাপগুলি তৈরি করা হয়েছিল generated এছাড়াও, প্রসঙ্গের উপর নির্ভর করে আঙ্গুলের ছাপগুলি বিভিন্ন ফর্ম্যাটে প্রদর্শিত হয় এই সমস্যাটি দ্বারা সহায়তা করা হয় না।

DNS record format:      ad04dfaf343a93beeb939eed1612168f7eadbed7
ssh client mesg format: 69:dc:47:97:e1:a5:c9:07:4a:2b:9e:3c:a2:2b:c8:8c

Ssh-keygen -r থেকে আঙুলের ছাপ আউটপুট একই ssh সার্ভার দ্বারা ফিরিয়ে দেওয়া পাবলিক কীগুলির সাথে কেন মেলে না সে সম্পর্কে কারও কি কোনও পরামর্শ আছে?

Update3

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


আপনি কি স্পষ্টভাবে সংযোগ করার জন্য সংযোগ দেওয়ার চেষ্টা করেছিলেন www.test.us?
উলিচ ড্যাঙ্গেল

হ্যাঁ. দুঃখিত, আমার উল্লেখ করা উচিত ছিল যে আমি সমস্ত প্রকারের চেষ্টা করেছি: ssh www; ssh www.test.us; ssh www.test.us .; তাদের সব একই প্রতিক্রিয়া ফলাফল।
মাইকেল ইয়াসুমোটো

ডিএনএস সার্ভার থেকে কী জিজ্ঞাসা করা হচ্ছে এবং কী প্রতিক্রিয়া প্রেরণ করা হয়েছে তা ওয়্যারশার্ক / টিসিপিডাম্পের কাছ থেকে দেখতে আকর্ষণীয় হতে পারে। সঠিক ক্যোয়ারী এবং প্রতিক্রিয়া জানার ফলে সমস্যাটি খুঁজে পেতে সহায়তা করা উচিত।
গার্ট ভ্যান ডেন বার্গ

গার্ট, আমি উপরের আপডেটে প্রতিক্রিয়া জানিয়েছি কারণ আমি এই মন্তব্য বাক্সে প্রতিক্রিয়াটি ফিট করতে পারি না।
মাইকেল ইয়াসুমোটো

আইপি ঠিকানার মাধ্যমে সরাসরি সংযোগ করার চেষ্টা করুন - আমার কাছে মনে হয় যে sshডিএনএস রেকর্ডগুলি যে আপনি পৌঁছানোর চেষ্টা করছেন তার হোস্টনামের সাথে মেলে না এমন বিভ্রান্তি রয়েছে।
পিটার্ফ

উত্তর:


5

স্পষ্টতই আমার সমস্যাগুলি দুটি ভিন্ন সমস্যার কারণে হয়েছিল।

সংখ্যা # 1 এসএসএইচএফপি অনুসন্ধানের পথগুলি ব্যবহার করে সমর্থন করে না। সুতরাং আপনি যদি /etc/resolv.conf এ "ডোমেন উদাহরণ.কম" যুক্ত করেন তবে আপনি আশা করতে পারেন যে ssh myhost SSHFP এর সাথে কাজ করবে কারণ নিয়মিত ssh নামটি সঠিকভাবে myhost.example.com এ সমাধান করবে। স্পষ্টতই ওপেনবিএসডি দেবগণ 2 বছর আগে প্যাচ জারি করার পরে বিষয়টি সম্পর্কে সচেতন তবে এটি কখনও প্রয়োগ করা হয়নি। পরিবর্তে একটি ssh_config হ্যাক প্রস্তাবিত হয়েছিল কিন্তু এটি কাজ করে না বলে মনে হয়। সুতরাং প্রথম ইস্যুটির সমাধান হ'ল এফকিউডিএন সর্বদা এসএসএইচএফপির সাথে ব্যবহার করা উচিত।

সংখ্যা # 2 পূর্ববর্তী সমস্যা সমাধানের জন্য এফকিউডিএন ব্যবহার করে, আমি যদি ওপেনএসএসএইচ ক্লায়েন্টের বর্তমান সংস্করণটি ওপেনএসএসএইচ_6.1 ব্যবহার করি তবে সবকিছু কাজ করে। আমার ফ্রিবিএসডি সিস্টেমের ওপেনএসএসএইচ_৫.৮ পি ২২ ক্লায়েন্টটি একটি নতুন ওপেনএসএসএইচ_.1.১ সার্ভারের জন্য এসএসএইচএফপি রেকর্ডগুলি সন্ধান করতে সক্ষম হয়েছে, তবে এটি সার্ভারের কাছ থেকে প্রাপ্ত ডিএনএস থেকে প্রাপ্ত ফিঙ্গারপ্রিন্টের সাথে মিলাতে অক্ষম। আমার ওএস এক্স 10.8.2 মেশিনের ওপেনএসএসএইচ_৫.৯ পি ১ ক্লায়েন্টটি ফ্রিবিএসডি মেশিনের চেয়ে ক্লায়েন্টের কখনও সংস্করণ না হওয়া সত্ত্বেও নতুন ওপেনএসএসএইচ__.১ সার্ভারের জন্য এসএসএইচএফপি রেকর্ডগুলি পুনরুদ্ধার করতে অক্ষম। স্পষ্টতই এটি ওপেনএসএসএইচ সার্ভার দ্বারা ফিরিয়ে দেওয়া ফিঙ্গারপ্রিন্টের সাথে অ অস্তিত্বশীল এসএসএইচএফপি রেকর্ডগুলির সাথে মেলে তুলতে অক্ষম। শেষ অবধি, ফ্রিবিএসডি বাক্সে এসএস-কিজেন ওপেনএসএসএইচ_6.১ ক্লায়েন্ট অনুসারে খারাপ এসএসএইচএফপি রেকর্ডার তৈরি করে যেগুলি এমআইটিএম আক্রমণের বিষয়ে অভিযোগ করে যেহেতু তারা ' সার্ভার দিয়ে ফিরিয়ে দেওয়া ফিঙ্গারপ্রিন্টের সাথে মেলে না। সমাধানটি দেখা যাচ্ছে যে আপনাকে এসএসএইচএফপি কাজের জন্য ওপেনএসএসএইচ ক্লায়েন্ট এবং সার্ভার উভয়েরই বর্তমান সংস্করণটি চালাতে হবে run ক্লায়েন্ট বা সার্ভার উভয়ই পুরানো সংস্করণ ব্যবহার করে সমস্যা জিজ্ঞাসা করছে।

ডিএনএসের সাথে এসএসএইচএফপি ব্যবহারের চূড়ান্ত চিন্তাভাবনা সম্ভবত মিশ্র ওএস পরিবেশে ব্যবহার করার জন্য খুব বেশি প্রান্তযুক্ত এবং নন-ওপেনবিএসডি ওএসের ওপেনএসএসএইচ বহনযোগ্য পোর্টেবল পোর্ট করতে হবে যেহেতু এটি পোর্ট হওয়ার পরে পুরানো হয়ে গেছে। সম্ভবত 3-5 বর্ষে, এসএসএইচএফপি পর্যাপ্ত স্থিতিশীল হবে যে এমনকি অন্যান্য ওএসগুলিতে পুরানো সংস্করণগুলিও স্থিতিশীল এবং সর্বশেষতম সংস্করণের সাথে সামঞ্জস্যপূর্ণ হবে।


2
ওএস এক্স (১০.৯) -তে এখন ওপেনএসএইচ-র একটি X. এক্স সংস্করণ অন্তর্ভুক্ত থাকা সত্ত্বেও, গিটহাবের রিপোর্ট অনুসারে ভাঙা ওএস এক্স বাস্তবায়নের কারণে এসএসএইচএফপি এখনও কাজ করে না। ম্যাকপোর্টস থেকে আসা কোনও পৃথক ওপেনএসএসএইচ ক্লায়েন্টের সাথে প্রতিস্থাপন বর্তমানে একমাত্র সমাধান।
মাইকেল ইয়াসুমোটো

0

সার্ভারের হোস্টনাম এসএসএইচ এর সাথে সংযুক্ত হচ্ছে এটি অবশ্যই এসএসএইচএফপি রেকর্ডের হোস্টনামের সাথে ঠিক মেলে। এটি কেবলমাত্র দুটি হোস্টনামের জন্য একই আইপি ঠিকানার সমাধান করার পক্ষে যথেষ্ট নয়। সুতরাং, ssh wwwwww.test.us. এর জন্য যে এসএসএইচএফপি রয়েছে তাদের পক্ষে কাজ করবে না, যদি না www আপনার এসএসএইচ কনফিগারেশনে না থাকে:

Host www
    Hostname www.test.us

ব্যবহার করে দেখুন ssh www.test.us


1
দুঃখিত, তবে দেখে মনে হচ্ছে আপনি উপরে আমার সম্পূর্ণ পোস্টটি পড়েন নি। আমি ফুললি কোয়ালিফাইড ডোমেন নামগুলি (এফকিউডিএন) ব্যবহার করে পরীক্ষা করেছি এবং এটি কোনও সমস্যা ছিল না।
মাইকেল ইয়াসুমোটো

0

আপনি যে পরিষেবাটির জন্য ডিএনএস রেকর্ড তৈরি করছেন তার সার্বজনীন কী এর ফাইল-নাম সরবরাহ করতে হবে। অন্যথায় এটি .ssh / *। পাব থেকে আপনার ব্যক্তিগত পাবলিক কী ফাইল (গুলি) ডিফল্ট ফ্যালব্যাক হিসাবে ব্যবহার করবে।

ssh-keygen -r vm1.test.us -f /etc/ssh/ssh_host_rsa_key.pub
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.