อีก“ SSH เชื่อมต่อกับโฮสต์ github.com พอร์ต 22: หมายเลขไฟล์ไม่ดี”


9

ฉันมีปัญหากับการเชื่อมต่อ SSH ครั้งแรกของฉัน ใช่ฉันทำตามคำแนะนำของคุณแล้วลองบทความ "การจัดการกับไฟร์วอลล์และพร็อกซี่" ของคุณแล้วและปัญหายังคงเกิดขึ้น ฉันใช้ Win7 32 บิตไฟร์วอลล์ Windows ถูกปิดใช้งานไม่มีไฟร์วอลล์ของ บริษัท อื่น ESET Nod32 Antivirus ไม่บล็อกพอร์ตใด ๆ ฉันไม่ได้ใช้พรอกซีใด ๆ

นี่คือบันทึก:

  1. ลองเชื่อมต่อ SSH สามัญ

    C:\Users\Mariusz>ssh -vvv git@github.com
    OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
    debug2: ssh_connect: needpriv 0
    debug1: Connecting to github.com [207.97.227.239] port 22.
    debug1: connect to address 207.97.227.239 port 22: Not owner
    ssh: connect to host github.com port 22: Bad file number
    
  2. ลองเชื่อมต่อ NCAT

    C:\Users\Mariusz>ncat github.com 22
    Strange connect error from 207.97.227.239 (10013): No error
    10013 = WSAEACCES
    

    ฉันคิดว่าวิธี "smart-http-support" ยังใช้งานไม่ได้เพราะฉันยังไม่ได้สร้าง repo
    ฉันเพิ่งทำgit initในเครื่องและหยุดที่git pushขั้นตอนซึ่งส่งกลับข้อผิดพลาดเดียวกัน:

    ssh: connect to host github.com port 22: Bad file number
    fatal: The remote end hung up unexpectedly
    
  3. วิธี corkscrew (บทความแรกจากคำแนะนำของคุณ)

    ขณะ PUTTYing (มีการประกวดเป็น bg) หลังจากป้อนข้อมูลเข้าสู่ระบบ - เกิดข้อผิดพลาด (MessageBox):

    Disconnected: No supported authentication methods available
    

    และในเทอร์มินัลข้อความนี้ถูกพิมพ์ออกมา:

    Server refused our key
    

ssh-keygenผมได้สร้างขึ้นที่สำคัญได้อย่างถูกต้องโดยใช้

ฉันยังไม่ได้พยายามแก้ไขโดยวิธีการ~/.ssh/configเพราะฉันคิดว่าเพราะฉันไม่ได้ผลักสิ่งใดไปยัง repo ระยะไกลของฉันดังนั้นฉันจะไม่สามารถโคลนอะไรได้

วิธีการส่งต่อ SSH จะไม่ทำงานสำหรับฉันเพราะมัน "ต้องเข้าถึงเซิร์ฟเวอร์ SSH ภายนอก" และฉันยังไม่ได้ในเวลานี้

ฉันจะทำอะไรได้อีก


หมายเหตุ:“คำแนะนำของคุณ” ดูเหมือนว่าจะหมายถึงบางเอกสาร GitHub ฉันเดาว่าโพสต์นี้เป็นส่วนแรกของคำขอการสนับสนุน GitHub และเพิ่งคัดลอกและวางลงใน SO
Chris Johnsen

คำตอบ:


7

คุณสามารถใช้วิธี Smart HTTP เพียงทำตามตัวอย่างที่สองในคำแนะนำและใช้การพุชแทนการโคลน ตัวอย่างเช่น

git push https://mariusz@github.com/mariusz/project.git

มันทำงานสำหรับgitคำสั่งทั้งหมดที่เกี่ยวข้องกับที่เก็บระยะไกล


ใช่ดูเหมือนว่าผู้ถามจะมีปัญหาเครือข่ายกับ SSH การเข้าถึง HTTP นั้นน่าจะเป็นแนวคิดที่ดีที่สุด @Mariusz: ด้วย GitHub การเข้าถึง“ smart HTTP” เป็นการแทนที่สำหรับการเข้าถึงแบบ SSH (ตราบใดที่คุณมี Git 1.6.6 หรือใหม่กว่าในตอนท้าย) เพียงใช้https://github.com/user/repo.gitURL แทนgit@github:user/repo.git(เช่นในการกำหนดค่าระยะไกลของคุณ)
Chris Johnsen

สามารถใช้เทคนิคนี้เพื่อทำงานให้กับ git gist ได้หรือไม่?
Mark Heath

@ Mark: ดูเหมือนว่า GitHub จะไม่สนับสนุน HTTP สำหรับ Gist เลย ฉันไม่สามารถคัดลอกที่เก็บข้อมูลสำคัญของมันได้
แพทช์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.