গিট এসএসএইচ ত্রুটি: "হোস্টের সাথে সংযুক্ত করুন: খারাপ ফাইল নম্বর"


153

আমি গিট গাইডটি অনুসরণ করেছি তবে গিথুবতে সংযোগ দেওয়ার চেষ্টা করার সময় আমার এই অদ্ভুত সমস্যাটি রয়েছে:

$ ssh -v git@github.com
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /c/Documents and Settings/mugues/.ssh/config
debug1: Applying options for github.com
debug1: Connecting to github.com [207.97.227.239] port 22.
debug1: connect to address 207.97.227.239 port 22: Attempt to connect timed out without establishing a connection
ssh: connect to host github.com port 22: Bad file number

এটি .ssh এর অধীনে আমার কনফিগারেশন ফাইল

Host github.com
    User git
    Hostname github.com
    PreferredAuthentications publickey
    IdentityFile "C:\Documents and Settings\mugues\.ssh\id_rsa"
    TCPKeepAlive yes
    IdentitiesOnly yes

কোন ধারণা?


আজ পেয়েছি। এবং মনে হচ্ছে গিথুব নিচে ছিলেন।
ysrb

টিএল; ডিআর: "খারাপ ফাইল নম্বর" উপেক্ষা করুন। আপনি যে তথ্যটি সন্ধান করছেন তা সেই বার্তায় নেই। এটি যে কোনও অর্থ হতে পারে। বিস্তারিত stackoverflow.com/a/22788046
Stéphane Gourichon

উত্তর:


186

নিজে এই সমস্যা হওয়ার পরে, আমি একটি সমাধান খুঁজে পেয়েছি যা আমার পক্ষে কাজ করে:

ভুল বার্তা:

    ssh -v git@github.com
    OpenSSH_5.8p1, OpenSSL 1.0.0d 8 Feb 2011
    debug1: Connecting to github.com [207.97.227.239] port 22.
    debug1: connect to address 207.97.227.239 port 22: Connection timed out
    ssh: connect to host github.com port 22: Connection timed out
    ssh: connect to host github.com port 22: Bad file number

উইন্ডোতে এমিংজিডাব্লু শেলটি ব্যবহার করার সময় আপনি কেবলমাত্র খারাপ ফাইল নম্বর বার্তাটি দেখতে পাবেন। লিনাক্স ব্যবহারকারীরা স্রেফ সময়সীমা অর্জন করবে।

সমস্যা:

এসএসএইচ সম্ভবত 22 পোর্টে অবরুদ্ধ করা হয়েছে You এটি টাইপ করে দেখতে পারেন

    $nmap -sS github.com -p 22
    Starting Nmap 5.35DC1 ( http://nmap.org ) at 2011-11-05 10:53 CET
    Nmap scan report for github.com (207.97.227.239)
    Host is up (0.10s latency).
    PORT   STATE    SERVICE
    22/tcp ***filtered*** ssh

    Nmap done: 1 IP address (1 host up) scanned in 2.63 seconds

আপনি দেখতে পাচ্ছেন যে রাজ্যটি ফিল্টার হয়েছে, যার অর্থ কোনও কিছু এটিকে অবরুদ্ধ করছে। 443 পোর্টে কোনও এসএসএইচ করে আপনি এটি সমাধান করতে পারেন (আপনার ফায়ারওয়াল / আইএসপি এটি ব্লক করবে না)। এটি আপনার পক্ষে github.com এর পরিবর্তে "ssh.github.com" এ ssh করা দরকার তাও গুরুত্বপূর্ণ। অন্যথায়, আপনি ওয়েব সার্ভারে ssh সার্ভারের পরিবর্তে প্রতিবেদন করবেন। নীচে এই সমস্যাটি সমাধানের জন্য প্রয়োজনীয় সমস্ত পদক্ষেপ রয়েছে।

সমাধান:

(সবার আগে নিশ্চিত করুন যে আপনি নিজের কীগুলি যেমন http://help.github.com/win-set-up-git/ এ ব্যাখ্যা করেছেন )

user / .ssh / config ফাইল তৈরি করুন (আপনার ব্যবহারকারী ডিরেক্টরিতে অবস্থিত ssh কনফিগারেশন ফাইল windows উইন্ডোজ সম্ভবত %USERPROFILE%\.ssh\config

এটিতে নিম্নলিখিত কোডটি আটকে দিন:

    Host github.com
    User git
    Hostname ssh.github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
    Port 443

ফাইলটি সংরক্ষণ করুন।

যথারীতি ssh সঞ্চালন করুন:

$ssh -T github.com 
    $Enter passphrase for key '.......... (you can smile now :))

নোট করুন যে আমাকে ব্যবহারকারীর নাম বা পোর্ট নম্বর সরবরাহ করতে হবে না।



1
"এটিতে নিম্নলিখিত কোডটি পেস্ট করুন:" এ, আমি বুঝতে পারি না। আমি কীভাবে খারাপ ফাইল নম্বর সমাধান করতে পারি? আমি কি এটি তৈরি করে নোটপ্যাড ফাইল হিসাবে সংরক্ষণ করব?
ডেভিড ডিমালান্টা

27
আমি পরিবর্তে পাইssh: connect to host ssh.github.com port 443: Bad file number
cqcn1991

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

2
.ssh/configউইন্ডোজ HOME%USERPROFILE%
on-এ

40

মূল তথ্যটি @ স্যামের উত্তরে লিখিত আছে তবে প্রকৃতপক্ষে মুখ্য নয়, তাই এটি পরিষ্কার করা যাক।

"খারাপ ফাইল নম্বর" তথ্যবহুল নয়, এটি উইন্ডোজে গিটের এসএসএস চালানোর কেবল চিহ্ন a

লাইনটি যা -vসুইচ ছাড়াই উপস্থিত হয় :

ssh: connect to host (some host or IP address) port 22: Bad file number

আসলে অপ্রাসঙ্গিক

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

এর পরিবর্তে লিনাক্সে একই কমান্ডটি আমার জন্য এই বার্তাটি উত্পন্ন করেছিল, যা সমস্যা সম্পর্কে প্রকৃত ইঙ্গিত দিয়েছে:

ssh: connect to host (some host or IP address) port 22: Connection timed out

আসল সমাধান: "খারাপ ফাইল নম্বর" উপেক্ষা করুন এবং আরও তথ্য পান

-vকমান্ড লাইনে যুক্ত হওয়া লাইনে ফোকাস করুন । আমার ক্ষেত্রে এটি ছিল:

debug1: connect to address (some host or IP address) port 22: Attempt to connect timed out without establishing a connection

আমার সমস্যাটি আইপি ঠিকানার টাইপ ছিল, তবে আপনার সমস্যাটি আলাদা হতে পারে।

এই প্রশ্নটি "খারাপ ফাইল নম্বর" সম্পর্কে, বা কোনও সংযোগ কেন সময় শেষ হতে পারে তার অনেকগুলি কারণ সম্পর্কে?

যদি কেউ প্রমাণ করতে পারে যে "খারাপ ফাইল নম্বর" কেবল তখনই উপস্থিত হয় যখন আসল কারণটি "সংযোগের সময় শেষ" হয় তবে কেন সংযোগটি শেষ হতে পারে তা সম্বোধন করার জন্য এটি কিছুটা বোধগম্য।

ততক্ষণে "খারাপ ফাইল নম্বর" কেবল একটি জেনেরিক ত্রুটি বার্তা এবং এই প্রশ্নের সম্পূর্ণরূপে "এটিকে উপেক্ষা করুন এবং অন্যান্য ত্রুটি বার্তাগুলি সন্ধান করুন" এই বলে উত্তর দেওয়া হবে।

সম্পাদনা: কিওয়ার্টি উল্লেখ করেছে যে ত্রুটি বার্তাটি সত্যই সাধারণ, কারণ এটি "সংযোগ অস্বীকার" এর ক্ষেত্রেও ঘটতে পারে। এটি বিশ্লেষণের বিষয়টি নিশ্চিত করে।

দয়া করে এই প্রশ্নটিকে সাধারণ ইঙ্গিত ও উত্তর দিয়ে বিশৃঙ্খলা করবেন না, তাদের এই প্রশ্নের আসল বিষয় (এবং শিরোনাম) এর সাথে কিছুই করার নেই যা "গিট এসএসএইচ ত্রুটি:" হোস্টে সংযুক্ত: খারাপ ফাইল নম্বর ""। যদি আপনার ব্যবহারে -vআরও তথ্যমূলক বার্তা থাকে যা তাদের নিজস্ব প্রশ্নের প্রাপ্য, তবে অন্য একটি প্রশ্ন খুলুন, তারপরে আপনি এটিতে একটি লিঙ্ক তৈরি করতে পারেন।


1
হ্যাঁ, আমার scpকমান্ড লাইনে -v যুক্ত করে "ডিবাগ 1: 216.34.181.70 পোর্ট 22 ঠিকানায় সংযোগ দিন:" খারাপ ফাইল নম্বর "এর আগে সংযোগটি অস্বীকার করা হয়েছিল" সুতরাং এটি সর্বদা "সময়সীমা" ত্রুটি হয় না।
কিওয়ার্টি

ওহ, উইন্ডোজ সর্বদা অস্পষ্ট ত্রুটি বার্তাগুলি দেখায়, এমনকি যখন লিনাক্স এবং অন্যান্য ইউনিক্স-এর মতো সিস্টেমে
traditionতিহ্যগতভাবে


5

হতে পারে আপনার ফায়ারওয়াল বা একটি ব্লকার অ্যাপ্লিকেশন (পিয়ারলক ইত্যাদি) আপনার পোর্টটিকে অবরুদ্ধ করছে


5

আপনিও চেষ্টা করতে পারেন:

telnet example.com 22

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


4

আমি যা পেয়েছি তা হ'ল, যখন আপনার সংযোগটি খারাপ থাকে। আমার রেপোতে চাপ দেওয়ার সময় আমি কয়েক মিনিট আগে এটি পেয়েছিলাম, এটি ব্যর্থ হতে থাকে এবং এর কিছুক্ষণ পরে, সংযোগটি নীচে চলে যায়।

এটি ফিরে আসার পরে, অবিলম্বে পুশটি পেরিয়ে গেল।

আমি বিশ্বাস করি এটি আপনার পক্ষ থেকে বা তাদের উভয় দিক থেকে সংযোগ হ্রাসের কারণে হতে পারে।


1
আমার ভেরিজোন জেটপ্যাকটি ব্যবহার করার সময় আমি এই ত্রুটিটি পেয়েছি যা আমি দুটি পৃথক ডিভাইস থেকে এসএসএস ব্যবহার করার সময় আমার সংযোগটি হ্রাস পাচ্ছে বলে মনে হচ্ছে। সুতরাং জেটপ্যাকের কোনও কিছু সংযোগ ছাড়ছে, এবং সংযোগটি নীচে নামলে আমি bad file numberত্রুটি পাই ।
cod3monk3y

1
আমার ল্যাপটপের সাথে আমার ফোনের হটস্পট সংযোগটি ব্যবহার করার সময় আমি এই ত্রুটিটি পেয়েছি।
লুকাস মরগান 19

@ লুকাসমোরগান এখানে একই। এই ঘটনাটি যখন ঘটেছিল তখন আমি ব্যবহার করছিলাম।
হিমশীতল

3

যদি এসএসএইচ 22 এর বেশি অবরুদ্ধ থাকে

আপনার originhttps- এ আপডেট করুন

git remote set-url origin https://github.com/ACCOUNT_NAME/REPO_NAME.git

পরিবর্তনগুলি করা হয়েছিল তা যাচাই করুন

git remote -v


সঠিক, তবে আপনাকে এই পদ্ধতিতে প্রতিটি সংগ্রহস্থলের জন্য এটি করতে হবে। একটি কনফিগার ফাইলে এটি বিশ্বব্যাপী প্রয়োগ করা হয়।
স্যাম

2

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

সুতরাং, গিট বাশ ছেড়ে আবার চেষ্টা করার চেষ্টা করুন।


2

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


10
" অবশেষে আমার জন্য কাজ করেছে" আমাকে ভাবায় যে আপনি যে প্রক্রিয়াতে অবদান রেখেছেন তাতে অন্য কাজগুলিও সম্ভবত করছিলেন।
জ্যাক বার্গার

1

উইন্ডোজগুলিতে আমি গিট ব্যাশ ছেড়ে আবার চালানোর চেষ্টা করেছি কিন্তু কাজ হয়নি, অবশেষে আমার (হতাশ) পুনরায় চালু হয়েছিল এবং এটি পরের বার কাজ করেছিল :)


1

আপনার গিটহাব প্রশাসন ইন্টারফেসের মাধ্যমে আপনি আপনার সর্বজনীন কীগুলি প্রকাশ করেছেন তা দুবার পরীক্ষা করে দেখুন।

তারপরে নিশ্চিত হয়ে নিন যে পোর্ট 22 কোনওরকম অবরুদ্ধ নয় ( এই প্রশ্নে বর্ণিত )


1
>> প্রথমে নিশ্চিত করুন যে 'গিট' আপনার গিটহাব ব্যবহারকারীর অ্যাকাউন্টের নাম। গিট গাইডে বর্ণিত হিসাবে: সবকিছু পরীক্ষা করে দেখুন। সবকিছু কাজ করছে তা নিশ্চিত করার জন্য আপনি এখন গিটহাবে এসএসএইচ করুন। "Git@github.com" অংশটি পরিবর্তন করবেন না। ওখানে থাকার কথা। >> তারপরে নিশ্চিত হয়ে নিন যে পোর্ট 22 কোনওভাবে অবরুদ্ধ নয় -> আমি উইন্ডোজ এক্সপি ফায়ারওয়াল অক্ষম করেছি তবে কিছুই পরিবর্তন হয়নি।
ম্যাসিমো ইউগেস

1

আমার ক্ষেত্রে আমাদের গিট হোস্টের আইপি ঠিকানাটি পরিবর্তিত হয়েছিল।

কেবল ডিএনএস ক্যাশে ফ্লাশ করা সমস্যার সমাধান করে।


0

443 পোর্ট ব্যবহারের জন্য কনফিগার ফাইল তৈরি করা আমার পক্ষে কাজ করে না। অবশেষে আমি আমার ওয়াইফাই সংযোগটি বন্ধ করার চেষ্টা করেছি, আবার এটি চালু করুন এবং সমস্যাটি অদৃশ্য হয়ে গেল। রহস্যময়। নির্বোধ সমাধান তবে এটি কাউকে সাহায্য করতে পারে :)


0

গিট রিমোট দিয়ে আপনার রিমোটটি পরীক্ষা করুন -v এসএসএস এর মতো কিছু: /// গিটুজার @ মাইহোস্ট: /git/dev.git

ট্রিপল /// স্ল্যাশের কারণে ভুল


0

আমি যখন কর্পোরেট নেটওয়ার্কে বিটবাকেট অ্যাক্সেস করি তখন আমি এই সমস্যাটি দেখেছি, যখন হোম নেটওয়ার্কে গিট খুব ভাল কাজ করে।

$ git pull
ssh: connect to host bitbucket.org port 22: Bad file number
fatal: Could not read from remote repository.

আমি এটিকে ঠিকঠাক করতে https প্রোটোকল ব্যবহার করেছি।

$ git pull https://myaccount@bitbucket.org/myaccount/myrepo.git
Password for 'https://myaccount@bitbucket.org':

"মাইকাউন্ট" এবং "মাইরেপো" প্রতিস্থাপন করতে দয়া করে অনুরূপ শব্দ ব্যবহার করুন।


0

নীচের সমাধানটি যখন আমার উইন্ডোজ 7 (32 বিট) পিসি থেকে কর্পোরেট ফায়ারওয়াল প্রক্সি স্থাপনের পিছনে আমার উইন্ডোজ 7 (32 বিট) পিসি থেকে এডাব্লুএস ইসি 2 উবুন্টু উদাহরণটিতে এসএসএইচ প্রবেশের চেষ্টা করেছিল তখন আমার পক্ষে কাজ করেছিল

C:\Users\<YOUR_WINDOWS_USER>\.ssh\configফাইলটিতে নিম্নলিখিত ব্লকটি যুক্ত করুন-

> Host *
>      ProxyCommand "C:/Program Files/Git/mingw32/bin/connect.exe" -H <YOUR_PROXY_SERVER_HOST>:<YOUR_PROXY_SERVER_PORT> %h %p
>      IdentityFile "<PATH_OF_YOUR_IDENTITY_FILE>"
>      TCPKeepAlive yes
>      IdentitiesOnly yes
>     
>     Host <SERVER_HOST_NAME_OR_IP_YOU_WANT_TO_SSH_INTO>
>      Port <SERVER_HOST_PORT_YOU_WANT_TO_SSH_INTO>
>      Hostname <SERVER_HOST_NAME_OR_IP_YOU_WANT_TO_SSH_INTO>

আপনি হোস্ট প্রতি অনুরূপ কনফিগারেশন যুক্ত করতে হবে যা আপনি এসএসএইচ করতে চান।


-1

আমার যখন উইন্ডোজে একটি ওপেন ফাইলজিলা-সংযোগ ছিল তখন আমার সমস্যা হয়েছিল। বন্ধ ফাইলজিলা -> সমস্যা সমাধান হয়েছে।


-1

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

(1) দূরবর্তী সংগ্রহস্থল তৈরি করুন

git remote add origin https://{your_username}:{your_password}@github.com/{your_username}/repo.git

দ্রষ্টব্য: যদি আপনার পাসওয়ার্ডটিতে '@' সাইন থাকে তবে এর পরিবর্তে '% 40' ব্যবহার করুন

(২) তারপরে রিমোট রিপোজিটরি দিয়ে আপনি যা কিছু করতে চান

ex:- git push origin master

-2

আমার ক্ষেত্রে কেবল ওয়াইফাই রাউটারটি পুনরায় চালু করা সাহায্য করেছে।

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