ssh_exঞ্জ__ সনাক্তকরণ: দূরবর্তী হোস্ট দ্বারা সংযোগ বন্ধ (স্বাগত.দেনী ব্যবহার না করে)


74

আমি না ব্যবহার hosts.allowবা hosts.deny, আরও, SSH আমার জানালা-মেশিন (একই ল্যাপটপ, বিভিন্ন হার্ড ড্রাইভ) কিন্তু আমার লিনাক্স মেশিন থেকে কাজ করে।

ssh -vvv root@host -p port দেয়:

OpenSSH_6.6, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to host [host] port <port>.
debug1: Connection established.
debug1: identity file /home/torxed/.ssh/id_dsa type -1
debug1: identity file /home/torxed/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6
ssh_exchange_identification: read: Connection reset by peer

উইন্ডোজ মেশিনে সমস্ত কিছু ঠিকঠাক কাজ করে, তাই আমি সুরক্ষা লগগুলি পরীক্ষা করেছিলাম এবং সেখানকার লাইনগুলি অভিন্ন, সার্ভার দুটি পৃথক পৃথক "মেশিন" ব্যবহার করে না এবং সেগুলি উভয়ই পাবলিক-কী প্রমাণীকরণের মাধ্যমে অনুমোদিত হয় ..

সুতরাং এই সিদ্ধান্তে পৌঁছেছে যে এটি অবশ্যই আমার স্থানীয় আর্কলিনাক্স ল্যাপটপের সাথে একটি সমস্যা হতে পারে .. তবে কী?

[torxed@archie ~]$ cat .ssh/known_hosts 
[torxed@archie ~]$ 

সুতরাং যে সমস্যা না ..

[torxed@archie ~]$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

ফায়ারওয়াল সেটিংসের সাথে কোনও বিরোধ নেই (আপাতত) ..

[torxed@archie ~]$ ls -la .ssh/
total 20
drwx------  2 torxed users 4096 Sep  3  2013 .
drwx------ 51 torxed users 4096 May 11 11:11 ..
-rw-------  1 torxed users 1679 Sep  3  2013 id_rsa
-rw-r--r--  1 torxed users  403 Sep  3  2013 id_rsa.pub
-rw-r--r--  1 torxed users  170 May 11 11:21 known_hosts

অনুমতিগুলি ঠিক আছে (সার্ভারে একই) বলে মনে হচ্ছে .. /etc/ssh/ssh_configক্লায়েন্টে প্রচুর অটো-কনফিগারেশন চলছে যা একই ত্রুটি দিয়ে শেষ হয় তা বাদ দিয়ে একই ফলাফলের সাথে কনফিগার না করেই চেষ্টা করা হয়েছে।


দয়া করে এর আউটপুট দিন iptables-save|grep -v '^#', এতে অন্য সারণীও অন্তর্ভুক্ত থাকবে (যেমন natএবং mangle)। যদি তারা খালি থাকে তবে কেবল তা উল্লেখ করুন। iptablesউপরে আপনার আউটপুটটি filterটেবিলের মধ্যে সীমাবদ্ধ default এছাড়াও, একটি বিকল্প পোর্টে SSH সার্ভারের রান, SSH উপর ভালো এবং ডিবাগ আউটপুট দিতে।
0xC0000022L

@ 0xC0000022L gist.github.com/Torxed/d7a5a556c527ffbb609d এবং gist.github.com/Torxed/1fd9b5b0c276629caf30 এবং ফায়ারওয়াল সম্পর্কিত, এসএসএইচ আমার উইন্ডোজ ড্রাইভের জন্য কাজ করছে (আবার, একই ল্যাপটপ এরগো ম্যাক এবং আইপি) তবে আমার লিনাক্স ডিস্কের জন্য নয়।
টর্ক্সড

আরও দুটি জিনিস। বিকল্প বন্দরে আপনাকে উদাহরণের সাথে সংযোগ স্থাপন করতে হবে। অন্যথায় আপনি সম্ভাব্য সমস্যাগুলি দেখতে পারবেন না। উইন্ডোজ বনাম লিনাক্স জিনিস সম্পর্কিত, তাদের মধ্যে একটি সম্ভবত আইপিভি 6 ব্যবহার করছে ( ip6tables-save)?
0xC0000022L

@ 0xC0000022L আমি অত্যন্ত দুঃখিত আমি ভুল আইপি সংযুক্ত করেছি .. 8080 বন্দরে এসএসএইচ চালানো এই কারণেই আমি 8080 পোর্টে ওয়েব-ক্যাশে চালিয়ে থাকা হোস্টের সাথে সংযোগ করার সময় এই সমস্যাটি
পুনরুদ্ধার করেছি

1
আমার সার্ভারটি কিছু এলোমেলো আক্রমণকারী দ্বারা আঘাত করার চেষ্টা করছে, যখন এসএসডি-র চেষ্টা করছিল mit আক্রমণকারীর কাছ থেকে সংযোগ নেওয়ার জন্য ফায়ারওয়াল বিধি যুক্ত করে স্থির করা হয়েছে।
অ্যান্ড্রু হাওস

উত্তর:


60

যদি আপনি কোনও "বাহ্যিক" কারণগুলি অস্বীকার করেন তবে নিম্নলিখিত ধাপগুলির সেটগুলি সাধারণত এটি সঙ্কুচিত করতে সহায়তা করে। সুতরাং এটি সরাসরি আপনার প্রশ্নের উত্তর না দিলে ত্রুটির কারণ অনুসন্ধানে এটি সহায়তা করতে পারে।

সমস্যা সমাধান sshd

এ জাতীয় যে কোনও ক্ষেত্রে আমি যা খুব সাধারণভাবে খুঁজে পাই sshdতা হ'ল এটিকে বিন্যস্ত না করেই শুরু করা। আমার ক্ষেত্রে সমস্যাটি হ'ল syslogবা auth.logতাত্পর্যপূর্ণ কোনও কিছুই দেখায় নি।

আমি যখন এটি টার্মিনাল থেকে শুরু করেছি তখন:

# $(which sshd) -Ddp 10222
/etc/ssh/sshd_config line 8: address family must be specified before ListenAddress.

অনেক ভাল! এই ত্রুটি বার্তাটি আমাকে কী ভুল তা দেখার এবং এটি ঠিক করার অনুমতি দিয়েছে। কোনও লগ ফাইলই এই আউটপুটটি ধারণ করে না।

নোট: কমপক্ষে উবুন্টুতে পরম পথের প্রয়োজনীয়তা $(which sshd)পূরণের সেরা পদ্ধতি sshd। অন্যথায় আপনি নিম্নলিখিত ত্রুটির পাবেন: sshd re-exec requires execution with an absolute path-p 10222তোলে sshd, কনফিগারেশন ফাইল অগ্রাহ্য করে বিকল্প বন্দর শুনতে - এই হল যাতে এটি সম্ভাব্য চলমান সংঘর্ষ নেই sshdদৃষ্টান্ত। এখানে একটি নিখরচায় বন্দর চয়ন করতে ভুলবেন না।

শেষ অবধি: বিকল্প পোর্টের সাথে সংযুক্ত করুন ( ssh -p 10222 user@server)।

এই পদ্ধতিটি আমাকে সমস্যাগুলি অনুসন্ধানে অনেকবার সহায়তা করেছে, এটি প্রমাণীকরণের সমস্যা হোক বা অন্য ধরণের। সত্যিকারের ভার্বোজ আউটপুট পেতে stdout, ব্যবহার করুন $(which sshd) -Ddddp 10222( ddভার্বোসটি বাড়ানোর জন্য যুক্ত নোটটি দেখুন )। আরও ডিবাগিং মঙ্গলতা পরীক্ষা জন্য man sshd


আমি ভুল আইপির সাথে সংযুক্ত হয়েছি, তবে এটি আমার কাছে যেতে
পেরেছে

2
$ (যা এসএসডিডি) -ডেডিপি 10222 আমাকে অবশেষে দেখতে দিন যে আমার সমস্যার কারণ কি হয়েছিল। একটি গুচ্ছ ধন্যবাদ!
কুগা

9

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

এই জাতীয় ক্ষেত্রে, আপনি বার্তাগুলির মধ্যে যে কোনওটি পেতে পারেন:

ssh_exchange_identification: read: Connection reset by peer

বা:

Connection closed by aaa.bbb.ccc.ddd

হোস্টটি ব্যাল আপ হওয়ার আগে কতদূর যায় তার উপর নির্ভর করে।

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


6

কেবল ক্ষেত্রে, কারণ এটি আমার সাথে ঘটেছিল। আপনি হোস্টে sshd চলছে তা নিশ্চিত হন!

এটি একটি বোকা ব্যর্থতা, তবে সত্যিই আপনার সমস্যা হতে পারে।


10
তাহলে sshdসংযোগ বন্ধ হবে না চলমান না কিন্তু অস্বীকার করে (চেষ্টা ssh -p someportwithoutsshd localhost)।
অ্যান্থন

4
ঠিক আছে, আমার মামলাটি সরাসরি সংযোগ ছিল না। আমি একটি অ-শ্রবণকারী মেশিনে একটি বিপরীত টানেল তৈরি করেছি এবং এটিই ছিল ssh ক্লায়েন্ট সংযোগের আউটপুট।
টেক্সমোন

1
বোকা আমারও জানা নেই যে আমার কোনও এসএসডি চলছে না, এটি
ওপেনশ

4

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


20
আপনি এটা কিভাবে করেছিলেন?
বাতিল

4
আপনি এটা কিভাবে করেছিলেন? পিং ...
নক করুন

একটি উপায় হ'ল খোলা সেশনগুলি whoব্যবহারকারীর প্রক্রিয়াগুলি ব্যবহার করে এবং হত্যা করা হবে।
ফ্ল্যাটারন

কীভাবে এসএসএল সেশনগুলি মারবেন
তেজস কালে

4

আমি ssh_exchange_identification: read: Connection reset by peerকোনও স্ক্রিপ্টে সমস্যাটি ছড়িয়ে দিয়েছি যা একটি লুপে 16 বা ততোধিক এসশ সেশন শুরু করে। sshd আপাতদৃষ্টিতে ধরে রাখতে পারে না; একটি সংক্ষিপ্ত ঘুম যোগ করা আমার সমস্যার সমাধান করেছে:

for i in $(seq 32)
do
    ssh -f root@$HOST "./test_server -p $(expr $BASE_PORT + $i)" > svr${i}.out
    # for > 8 connections, ssh has ssh_exchange_identification issues
    sleep 0.1
done

3

অথবা আপনি গত রাতে আমি যা করেছি তা করতে পেরেছি এবং মুছে ফেলেছি / ভেরি / খালি। স্পষ্টতই ডিরেক্টরি এবং এর অনুমতিগুলি sshd এর কার্যকারিতার জন্য অপরিহার্য এবং পুনর্সূচনা পুনরায় আরম্ভ /etc/init.d/sshdকরতে ব্যর্থ হওয়ার সাথে সাথে ডিরেক্টরিটি পুনরায় আরম্ভ করতে ব্যর্থ হবে এবং সিস্টেমে কিছুই আপনাকে কেন বলবে না।

আমি অগ্রভাগে sshd চালিয়ে সমস্যাটি খুঁজে পেয়েছি:

# /usr/sbin/sshd -Dd
  Missing privilege separation directory: /var/empty/sshd

ডিরেক্টরিগুলি পুনর্নির্মাণটি আমার ক্ষেত্রে সমস্যার সমাধান করেছে:

drwxr-xr-x. root root  /var/empty
drwx--x--x. root root  /var/empty/sshd

লিনাক্স প্রোগ্রামারদের জন্য দ্রষ্টব্য: গুরুত্বপূর্ণভাবে গুরুত্বপূর্ণ /var/emptyবিষয়গুলি ... সত্যই ???


ls -ld /var/emptyls: cannot access '/var/empty': No such file or directory। সুতরাং কমপক্ষে একটি বিতরণ এটি পুরোপুরি শেষ করে দিয়েছে। এ খুঁজছি /etc/init.d/sshdস্ক্রিপ্ট, মনে হচ্ছে যে ডেবিয়ান উপর, অন্তত বিশেষাধিকার বিচ্ছেদ ডিরেক্টরির এখন /var/run/sshdএবং স্টার্ট আপ সময়ে এটি তৈরি হলে এটি আগে থেকেই বিদ্যমান নেই।
রোয়াইমা

1

ssh_exchange_identification: Connection closed by remote hostএসএসএইচে সংযোগ দেওয়ার চেষ্টা করার সময় আমি ত্রুটিটি পেয়েছি : আমি আমার স্থানীয় কম্পিউটারের এসএসএইচ পোর্ট 22 এর জন্য একটি রিমোট পোর্ট ফরওয়ার্ডিং করেছি যাতে আমি ইন্টারনেটে দূরবর্তী সার্ভার থেকে অস্থায়ীভাবে এটি অ্যাক্সেস করতে পারি।

বস্তুত ত্রুটি শুধু প্রদর্শিত হয়েছে কারণ আমার মনে আছে না যে আমি সূচনার সময় SSH পরিসেবা নিষ্ক্রিয় তাই আমি আমার কম্পিউটারে, SSH পরিষেবা শুরু ছিল: sudo service ssh start


1
ধন্যবাদ, আপনি আমার জীবন বাঁচান
আল কাশিহ

0

প্রথম জিনিস প্রথম; হোস্টের আইপি ঠিকানায় টেলনেটটি যাচাই করার জন্য 22 পোর্টটি সেই হোস্টটিতে আসলে শুনছে (খোলা) রয়েছে কিনা তা যাচাই করতে:

telnet x.x.x.x 22

(যদি তা না হয় তবে লগইন করার জন্য আপনি কনসোল কেবলটি সজ্জিত করতে পারেন)

আমার ক্ষেত্রে এটি কাজ করছে না এবং আমি লগইন করার জন্য একটি কনসোল কেবল সজ্জিত করেছিলাম। একবার আমি লগ ইন করলে, আমি আবিষ্কার করেছি যে সমস্ত 5 টি ভিটিওয়াই লাইন সেই হোস্টটিতে ব্যস্ত ছিল (একটি সিসকো রাউটার)।

আমি ভিটিওয়াই লাইনগুলি মুক্ত করতে সেখানে যে পুরানো সংযোগগুলি ঝুলিয়ে রেখেছি তা সাফ করে দিয়েছি, এটি কার্যকর হয়েছে। আমি ভিটিওয়াই লাইনের অধীনে "এক্সিকিউট-টাইমআউট 15" কমান্ডটি যুক্ত করেছি। তারপরে আমি কনসোল কেবলটি সরিয়ে ফেললাম।

পাঠ:

আপনার সমস্ত ডিভাইসে 5-10 মিনিটের সময়সীমা সেট করার বিষয়টি নিশ্চিত করুন - (যদি কোনও ক্রিয়াকলাপ সনাক্ত না হয়)।


2
সেক্ষেত্রে, আপনি "সংযোগ প্রত্যাখ্যান" পেয়ে
জেফ শ্যাচলার

1
টেলনেট উপলভ্য (টেলনেটের জন্য ডিমন শ্রবণ) একটি দুর্দান্ত গুরুতর সুরক্ষা ত্রুটি, এটির কারণ হিসাবে প্রাথমিক কারণ ssh পছন্দসই দূরবর্তী কনসোল।
Xalorous

22 পোর্টে ssh ডিমন অনুসন্ধানের জন্য টেলনেট ক্লায়েন্ট ব্যবহার করা কোনও সুরক্ষা ত্রুটি নয়। পোর্ট 23-এ টেলনেট ডেমনটির সাথে সংযোগ স্থাপনের জন্য টেলনেট ক্লায়েন্ট ব্যবহার করা একটি সুরক্ষা ত্রুটি।
ড্যান অ্যান্ডারসন

0

আমার কেসটি ভুল করে সকেট প্রক্সি সেট করা হয়েছিল (যা কাজ করছে না)। আমি ঠিক একই ssh -vvv আউটপুট এবং খালি এসএসডি লগ পেয়েছি।


0

ssh_exchange_identification: Connection closed by remote hostকিছু অজানা কারণে ত্রুটি ঘটতে পারে। যখন আমি ভিজুয়াল স্টুডিও কোডটি ব্যবহার করছিলাম । git pullকমান্ডটি ব্যবহার করে দূরবর্তী রেপো থেকে টানতে চেষ্টা করার সময় একই ত্রুটি ঘটেছিল ।

আমি শুধু এমবেডেড টার্মিনাল বন্ধ এবং খুলে উবুন্টু এর টার্মিনাল এবং আবার টানা। এবং এটি সফল ছিল


0

সঙ্গে থেকে CentOS Linux release 7.4.1708 (Core)সঙ্গে OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017একটি সংযোগ পোর্ট আমার কাছে তা থাকত ফিল্টারিং না পিছনে:

ssh_exchange_ شناخت: দূরবর্তী হোস্ট দ্বারা সংযোগ বন্ধ closed

এবং দেখা গেল যে আমার রাস্পবেরি পাই বন্ধ ছিল!

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

তারপরে আমি আরেকটি ইন্টারনেট সংযোগ থেকে ডেবিয়ান স্ট্রেচের সাথে বন্দরগুলি ফিল্টার না করে অন্য একটি ইন্টারনেট সংযোগ থেকে পরীক্ষার (রাস্পবেরি পাই থেকে চালিত একটি সংযোগের চেষ্টা করার চেষ্টা) পুনরাবৃত্তি করেছি এবং এবার আমার OpenSSH_7.4p1 Debian-10+deb9u3, OpenSSL 1.0.2l 25 May 2017প্রত্যাশা ছিল:

কোন রুট হোস্ট করার জন্য

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