SSH“ การเชื่อมต่อถูกปฏิเสธ” บน Raspberry pi - หาสาเหตุไม่ได้


13

ฉันมีปัญหาดังต่อไปนี้ SSH "การเชื่อมต่อถูกปฏิเสธ" มันจะทำงานได้ดี แต่ในขณะที่ฉันกำลังทำงานกับ SSH ฉันจะได้รับ "การเชื่อมต่อถูกปฏิเสธ" และจะต้องเชื่อมต่อใหม่ (ซึ่งไม่ได้เกิดขึ้นประมาณ 5-10 นาที) ฉันได้ลองทุกอย่าง (รีสตาร์ทลินุกซ์รีสตาร์ท ssh) แต่ก็ยังไม่ช่วย ฉันตรวจสอบ var / log ด้วย แต่ไม่มีประโยชน์ในที่นั่น ...

หมายเหตุ:บันทึกที่น่าสนใจที่ฉันพบคือเมื่อฉันลอง ssh กับ ip ภายนอกของฉัน (277 ... ) มันจะไปที่หน้าจอ cmd ดำฉันปิดสิ่งนี้และลองที่อยู่ 192.168.0.13 ของฉันและมันช่วยให้ฉันลงชื่อเข้าใช้ แต่สั้น ในขณะที่การเชื่อมต่อถูกปฏิเสธอีกครั้ง ... แน่นอนถ้าฉันเปิดเซิร์ฟเวอร์ของฉันและ sudo sshd รีสตาร์ท ssh ของฉัน "การเชื่อมต่อปฏิเสธ" หายไป ...

พอร์ต ssh ของฉันเปิดที่ 23 และฉันตั้งค่าไว้ที่โมเด็ม / เราเตอร์เช่นกัน

sudpi@raspberrypi:~$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1817/apache2
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      2227/vsftpd
tcp        0      0 127.0.0.1:3350          0.0.0.0:*               LISTEN      1784/xrdp-sesman
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      3115/sshd
tcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN      1781/xrdp
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      2397/mysqld

เมื่อฉันถูกตัดการเชื่อมต่อและกลับเข้าสู่ระบบและตรวจสอบ "ใคร" ฉันเห็นการเชื่อมต่อก่อนหน้านี้ของฉันรากและการเชื่อมต่อปัจจุบันของฉัน

whopi@raspberrypi:~$ who  
pi       tty1         2013-01-28 09:20
pi       pts/0        2013-01-28 10:28 (192.168.0.12)
pi       pts/1        2013-01-28 10:32 (192.168.0.12)

นี่คือสิ่งที่ฉันมีใน ssh_config ที่ฉันได้แก้ไข (SSH ถึง 23 เพราะโรเจอร์สใช้ 22 ... )

#   Port 23
...    
#Keep my damn connection alive!
KeepAlive yes
ServerAliveInterval 60

นี่คือสิ่งที่ฉันได้รับเมื่อฉันเรียกใช้ arp-scan

pi@raspberrypi:/etc$ sudo arp-scan -I eth0 -l | grep 192.168.0.13
192.168.0.13    a0:6c:ec:ec:bb:5b       (Unknown)

ตอนนี้ฉันพบออนไลน์ที่บอกฉันว่าฉันควรโพสต์ข้อมูลสองอย่างต่อไปนี้

pi@raspberrypi:~$ ps afxu | grep sshd
root      2838  0.0  0.7   9800  3168 ?        Ss   10:27   0:00 sshd: pi [priv]                                                                                   
pi        2845  0.0  0.3   9800  1628 ?        S    10:28   0:00  \_ sshd: pi@pt                                                                                   s/0
root      2854  0.0  0.7   9800  3168 ?        Ss   10:32   0:00 sshd: pi [priv]                                                                                   
pi        2861  0.0  0.3   9800  1628 ?        S    10:32   0:00  \_ sshd: pi@pt                                                                                   s/1
root      2900  0.3  0.7   9800  3168 ?        Ss   10:44   0:00 sshd: pi [priv]                                                                                   
pi        2907  0.0  0.3   9800  1628 ?        S    10:44   0:00  \_ sshd: pi@pt                                                                                   s/2
root      2934  0.0  0.2   6204  1060 ?        Ss   10:45   0:00 /usr/sbin/sshd
root      2954  0.7  0.7   9800  3164 ?        Ss   10:45   0:00  \_ sshd: pi [p                                                                                   riv]
pi        2961  0.1  0.3   9800  1624 ?        S    10:46   0:00      \_ sshd: p                                                                                   i@pts/3
pi        2970  0.0  0.1   3536   796 pts/3    S+   10:46   0:00              \_                                                                                    grep sshd

แก้ไข: pi @ raspberrypi: ~ $ ssh -vvv 192.168.0.13 (อาจยาว ... ขอบคุณ Bart Friederichs)

pi@raspberrypi:~$ ssh -vvv 192.168.0.13 -p 23
OpenSSH_6.0p1 Debian-3, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.0.13 [192.168.0.13] port 23.
debug1: Connection established.
debug1: SELinux support disabled
...
debug1: match: OpenSSH_6.0p1 Debian-3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-3
debug2: fd 3 setting O_NONBLOCK
debug3: put_host_port: [192.168.0.13]:23
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
...
debug1: Next authentication method: publickey
debug1: Trying private key: /var/www/.ssh/id_rsa
debug3: no such identity: /var/www/.ssh/id_rsa
debug1: Trying private key: /var/www/.ssh/id_dsa
debug3: no such identity: /var/www/.ssh/id_dsa
debug1: Trying private key: /var/www/.ssh/id_ecdsa
debug3: no such identity: /var/www/.ssh/id_ecdsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
pi@192.168.0.13's password: - I TYPED PASSWORD -
...
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0
Linux raspberrypi 3.6.11+ #350 PREEMPT Mon Jan 7 21:51:11 GMT 2013 armv6l

รันnetstat -tlpnเป็น root (หรือด้วยsudo) หากคุณต้องการดูชื่อโปรแกรม / PID การย้าย SSH จากพอร์ตเริ่มต้นดูเหมือนจะไม่เป็นความคิดที่ดีถ้าคุณไม่คุ้นเคยกับการดูแลระบบ Linux อย่างเพียงพอ
Bruno

1
บรรทัดที่ขึ้นต้นด้วย # คือความคิดเห็นดังนั้นในบรรทัดที่คุณระบุพอร์ต 23 ที่คุณมี # ก่อนหน้านั้นจะไม่ถูกประมวลผลและดังนั้นจึงจะใช้พอร์ตมาตรฐาน (22) คุณยังสามารถมีบางสิ่งใน /etc/hosts.allow หรือ /etc/hosts.deny ควบคุมว่าใครสามารถเชื่อมต่อกับ sshd คุณได้ตรวจสอบหากคุณไม่ได้ชนกับที่อยู่ IP ในเครือข่ายของคุณหรือไม่
ท่อ

คำตอบ:


8

คุณsshdฟังพอร์ต 23 แต่คุณกำลังเชื่อมต่อกับพอร์ต 22 (ค่าเริ่มต้นของ SSH)

ลองสิ่งนี้:

  pi@raspberrypi:~$ ssh -vvv 192.168.0.13 -p 23

ข้อผิดพลาด "การเชื่อมต่อถูกปฏิเสธ" หมายความว่าเลเยอร์ TCP ในเคอร์เนลไม่ยอมรับการเชื่อมต่อใด ๆ บนพอร์ตนั้น มันไม่เกี่ยวอะไรกับการรักษาชีวิตหรืออะไรก็ตาม

นอกจากนี้คุณกำลังใช้arpค้นหาสิ่งต่าง ๆ แต่เครื่องมือที่ดีกว่าก็nmapคือ arpจะบอกคุณว่า IP อยู่ในโดเมนออกอากาศของคุณหรือไม่หากพอร์ตใดเปิดอยู่


สวัสดีขอบคุณสำหรับคำตอบของคุณฉันได้ลอง pi @ raspberrypi: ~ $ nmap -bash: nmap: ไม่พบคำสั่ง ... ฉันจะต้องติดตั้งหรือไม่ และมีราสเบอร์รี่เช่นนี้หรือไม่? นอกจากนี้ขอขอบคุณสำหรับการแก้ไขฉันได้แก้ไขด้วย -p 23 แต่มันไม่มีอะไรที่จะออกนอกสถานที่ได้ ...

nmapไม่จำเป็นจริงๆเพียงแค่เครื่องมือที่มีประโยชน์ ดูเหมือนว่าการอัปเดตของคุณจะทำงานได้หรือไม่
Bart Friederichs

5

การอ้างถึงเอกสาร :

ตั้งแต่เดือนพฤศจิกายน 2559 Raspbian ปิดใช้งานเซิร์ฟเวอร์ SSH เป็นค่าเริ่มต้น คุณจะต้องเปิดใช้งานด้วยตนเอง

วิธีเปิดใช้งาน SSH บนเครื่องผ่านคอนโซล:

ใส่sudo raspi-configใน terminal ก่อนอื่นให้เลือกadvanced optionsจากนั้นไปsshกดและเลือกEnterEnable or disable ssh server

วิธีเปิดใช้งาน SSH สำหรับเครื่องที่ไม่มีหัว

สำหรับการตั้งค่าแบบหัวขาดคุณสามารถเปิดใช้งาน SSH ได้โดยการวางไฟล์ที่ชื่อsshโดยไม่มีส่วนขยายใด ๆ ลงในพาร์ติชันสำหรับบูตของการ์ด SD


คัดลอกมาจากคำตอบของ@techrafในคำถามที่เกี่ยวข้องนี้: SSH ไม่ทำงานกับการติดตั้งใหม่


ในขณะที่เทคนิคนี้อาจตอบคำถามฉันไม่แน่ใจว่า techraf จะมีความสุขที่คุณเพิ่งคัดลอกและวางคำตอบของพวกเขา อย่างไรก็ตามหากคุณขออนุญาตก่อนที่จะโพสต์นี้จะแตกต่างกัน
Darth Vader

1
ส่วนหนึ่งของ"ข้อกำหนดในการให้บริการ" (วินาที 3)คือการมีส่วนร่วมที่นี่ถือว่ามีใบอนุญาตครีเอทีฟคอมมอนส์แสดงที่มาเหมือนครีเอทีฟคอมมอนส์และการจัดสรรใหม่นี้อยู่ภายในข้อกำหนดเหล่านั้น อย่างไรก็ตามมันไม่ได้เป็นคำตอบที่นี่มากนักเนื่องจากมันค่อนข้างชัดเจนในคำถามที่sshdกำลังทำงานอยู่และปัญหานี้เกิดขึ้นก่อนปี 2559
goldilocks

@DarthVader ฉันโพสต์สิ่งนี้เป็นคำตอบของชุมชนให้เครดิตผู้แต่งอย่างถูกต้องฉันคิดว่ามันคงจะเพียงพอ
Delgan

1
@goldilocks ตามที่คุณอาจเดาได้คำถามนี้มาจากผลการค้นหาของ Google เกี่ยวกับ ssh connexion ที่ปฏิเสธสำหรับ Raspberry Pi ฉันเชื่อว่าสิ่งนี้จะช่วยให้ผู้คนสามารถคิดได้เร็วขึ้นว่าอะไรจะเป็นปัญหา
Delgan

ในการกำหนดค่า SSH ใหม่ล่าสุดในปัจจุบัน (ยืด Raspbian) อยู่ภายใต้ 5) ตัวเลือกการเชื่อมต่อ -> P2) SSH
R2RT

1

ฉันมีปัญหาเดียวกันเมื่อเช้านี้และได้รับการแก้ไขโดยการลบและติดตั้ง openssh-server:

sudo apt-get remove openssh-server 
sudo apt-get install openssh-server

สวัสดีและยินดีต้อนรับสู่ Stack Exchange! โปรดพิจารณาการเพิ่มคำอธิบายเชิงลึกเพิ่มเติมเพื่อประโยชน์ของผู้อ่านในอนาคต
NULL

0

ฉันมีปัญหาเดียวกันและทางออกของฉันคือการปิดการใช้งานและถอนการติดตั้ง iptables

รันคำสั่งเหล่านั้น:

(ในฐานะ sudoer)

iptables -F iptables -X iptables -t nat -f iptables -t nat -X iptables -t mangle -F iptables -t ipangle -t mangle -X iptables -P อินพุต ACTT -CE IPTables -P ไปข้างหน้า ACCEPT

sudo apt-get remove --purge iptables


0

สำหรับฉันทำงานต่อไปนี้: ไปที่ / etc / ssh / ssh_config และ / etc / ssh / sshd_config จากนั้นอนุญาตการเข้าถึงโดยไม่มีรหัสผ่าน

เริ่มบริการและvoilàใหม่ใช้งานได้!


0

อัปเดตคำตอบของ Delgan สำหรับ Raspberry pi 3, RASPBIAN JESSIE ด้วย PIXEL OS

ในอาคารผู้โดยสาร

sudo raspi-config 

เลือกตัวเลือกการเชื่อมต่อ -> SSH กด Enter และเลือกเปิดใช้งานหรือปิดใช้งานเซิร์ฟเวอร์ ssh


0

ฉันไม่แน่ใจว่าเคล็ดลับของฉันจะเป็นประโยชน์หรือไม่ ฉันมีปัญหาเดียวกันและฉันใหม่เพื่อโลก linux หลังจากอ่านเอกสาร Raspberry Pi ฉันพบว่าปัญหาอยู่ในการกำหนดค่า Pi ที่ปิดใช้งาน SSH

คลิกที่เมนู Raspberry Pi -> Preferences -> เปิดตัว Raspberry Pi Configuration ไปที่แท็บ Interfaces เลือก Enabled ถัดจาก SSH คลิกตกลงนี่ช่วยแก้ไขปัญหาของฉันได้ โปรดลองและแจ้งให้เราทราบ


-1

กับ

sudpi@raspberrypi:~$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1817/apache2
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      2227/vsftpd
tcp        0      0 127.0.0.1:3350          0.0.0.0:*               LISTEN      1784/xrdp-sesman
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      3115/sshd
tcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN      1781/xrdp
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      2397/mysqld

เป็นการเริ่มต้นที่ดีในการตรวจสอบว่าปัญหาคืออะไร แต่ไม่เพียงพอที่จะตอบคำถาม :-(
Morgan Courbet

-1

ฉันมีปัญหาเดียวกัน แต่แก้ไขได้หลังจากที่ฉันรันคำสั่ง

sudo apt-get remove --purge iptables. และปิดการเชื่อมต่อไร้สาย


-1

มี 2 ​​ไฟล์การกำหนดค่า / etc / ssh / ssh_config และ / etc / ssh / sshd_config

เปลี่ยนพอร์ตจาก 22 เป็นสิ่งที่คุณต้องการในไฟล์ทั้งสอง

เริ่มบริการใหม่ sudo service ssh restart


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