ฉันมีปัญหาดังต่อไปนี้ 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 อย่างเพียงพอ