Kết nối SSH từ chối từ chối trên Raspberry pi - không thể tìm thấy lý do tại sao


13

Tôi có vấn đề SSH "kết nối bị từ chối" sau đây. Nó sẽ hoạt động tốt, nhưng trong khi tôi đang làm việc trên SSH, tôi sẽ bị "từ chối kết nối" và sẽ phải kết nối lại (điều này không xảy ra trong 5-10 phút). Tôi đã thử mọi thứ (khởi động lại linux, khởi động lại ssh) nhưng vẫn không giúp được gì. Tôi cũng đã kiểm tra var / log nhưng không có gì hữu ích trong đó ...

LƯU Ý: Lưu ý thú vị tôi tìm thấy là, khi tôi thử ssh với ip bên ngoài của mình (277 ...), nó sẽ chuyển sang màn hình cmd màu đen, tôi đóng cái này và thử địa chỉ 192.168.0.13 của tôi và nó cho phép tôi đăng nhập .. nhưng ngắn Trong khi đó, một lần nữa kết nối bị từ chối ... Tất nhiên nếu tôi mở máy chủ và sudo sshd khởi động lại, ssh "kết nối bị từ chối" sẽ biến mất ...

Cổng ssh của tôi được mở ở 23 và tôi cũng đã cài đặt nó trên modem / bộ định tuyến

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

Khi tôi bị ngắt kết nối và đăng nhập lại và kiểm tra "WHO", tôi chỉ thấy kết nối trước đó, gốc và kết nối hiện tại của tôi

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)

Đây là những gì tôi có trong ssh_config mà tôi đã sửa đổi (SSH thành 23 vì rogers sử dụng 22 ...)

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

Đây là những gì tôi nhận được khi chạy 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)

Phần này tôi tìm thấy trên mạng nói với tôi rằng tôi nên đăng hai thông tin sau

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

EDIT: pi @ raspberrypi: ~ $ ssh -vvv 192.168.0.13 (NÀY có thể dài ... Cảm ơn 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

Chạy netstat -tlpnvới quyền root (hoặc với sudo) nếu bạn muốn xem tên chương trình / PID. Di chuyển SSH từ cổng mặc định của nó dường như không phải là một ý tưởng hay nếu bạn không đủ quen thuộc với quản trị Linux.
Bruno

1
Các dòng bắt đầu bằng # là các nhận xét, vì vậy trong dòng bạn chỉ định cổng 23 bạn có # trước đó, nó sẽ không được xử lý và do đó nó sẽ sử dụng cổng tiêu chuẩn (22). Bạn cũng có thể có một cái gì đó trong /etc/hosts.allow hoặc /etc/hosts.deny kiểm soát ai có thể kết nối với sshd. Bạn đã kiểm tra nếu bạn không va chạm với địa chỉ IP trong mạng của mình chưa?
Ống

Câu trả lời:


8

Bạn sshdđang nghe trên cổng 23, nhưng bạn đang kết nối với cổng 22 (mặc định của ssh).

Thử đi:

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

Lỗi "từ chối kết nối" có nghĩa là lớp TCP trong kernel không chấp nhận bất kỳ kết nối nào trên cổng đó. Nó không có gì để làm với việc giữ sống hoặc bất cứ điều gì.

Ngoài ra, bạn đang sử dụng arpđể tìm hiểu công cụ, nhưng một công cụ tốt hơn sẽ là nmap. arpchỉ cho bạn biết nếu IP nằm trong miền quảng bá của bạn chứ không phải nếu có bất kỳ cổng nào được mở.


Xin chào, Cảm ơn bạn đã trả lời, tôi đã thử pi @ raspberrypi: ~ $ nmap -bash: nmap: lệnh không tìm thấy ... tôi có cần cài đặt không? và có như vậy cho quả mâm xôi? Cũng cảm ơn bạn đã sửa lỗi, tôi đã chỉnh sửa với -p 23, nhưng nó không có gì trông không hợp lý ...

nmapkhông thực sự cần thiết, chỉ là một công cụ tiện dụng. Bản cập nhật bạn thực hiện dường như đã làm cho nó hoạt động?
Bart Friederichs

5

Trích dẫn tài liệu :

Kể từ phiên bản tháng 11 năm 2016, Raspbian có máy chủ SSH bị tắt theo mặc định. Bạn sẽ phải kích hoạt nó bằng tay.

Để bật SSH trên máy thông qua bảng điều khiển:

Nhập sudo raspi-configvào thiết bị đầu cuối, đầu tiên chọn advanced options, sau đó điều hướng đến ssh, nhấn Entervà chọn Enable or disable ssh server.

Để bật SSH cho các máy không đầu:

Để thiết lập không đầu, SSH có thể được bật bằng cách đặt một tệp có tên ssh, không có bất kỳ tiện ích mở rộng nào, vào phân vùng khởi động của thẻ SD.


Sao chép từ câu trả lời của @techraf trong câu hỏi liên quan này: SSH không hoạt động với cài đặt mới .


Trong khi điều này về mặt kỹ thuật có thể trả lời câu hỏi, tôi không chắc chắn techraf sẽ vui mừng khi bạn vừa sao chép và dán câu trả lời của họ. Tuy nhiên, nếu bạn yêu cầu sự cho phép của họ trước khi thực hiện bài đăng này sẽ khác.
Darth Vader

1
Một phần của "điều khoản dịch vụ" (giây 3) là các đóng góp ở đây được coi là có giấy phép Chia sẻ tương tự Creative Commons Attribution và việc chiếm đoạt lại này nằm trong các điều khoản đó. Tuy nhiên, không có nhiều câu trả lời ở đây vì nó khá rõ ràng trong câu hỏi sshdđang chạy và vấn đề là trước năm 2016.
goldilocks

@DarthVader Tôi đăng bài này như một câu trả lời của cộng đồng, tin tưởng đúng vào tác giả, tôi nghĩ thế là đủ.
Delgan

1
@goldilocks Như bạn có thể đoán, câu hỏi này xuất hiện trên đầu kết quả tìm kiếm của Google về kết nối ssh bị từ chối cho Raspberry Pi. Tôi tin rằng điều này sẽ giúp mọi người tìm ra nhanh hơn những gì có thể là vấn đề.
Delgan

Trên cấu hình SSH mới nhất (Raspbian Stretch) hiện tại nằm dưới 5) Tùy chọn giao diện -> P2) SSH
R2RT

1

Tôi đã gặp vấn đề tương tự sáng nay và đã khắc phục bằng cách gỡ bỏ và cài đặt openssh-server:

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

Xin chào và chào mừng đến với Stack Exchange! Vui lòng xem xét thêm một lời giải thích sâu hơn cho lợi ích của độc giả trong tương lai.
NULL

0

Tôi gặp vấn đề tương tự và giải pháp của tôi là vô hiệu hóa và gỡ cài đặt iptables.

chạy các lệnh đó:

(như sudoer)

iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables

sudo apt-get remove --purge iptables


0

Đối với tôi, các công việc sau: đã chuyển đến / etc / ssh / ssh_config và / etc / ssh / sshd_config và sau đó cho phép truy cập mà không cần mật khẩu.

Khởi động lại dịch vụ và voilà, làm việc!


0

Cập nhật câu trả lời của Delgan cho Raspberry pi 3, RASPBIAN JESSIE VỚI PIXEL OS

Trong thiết bị đầu cuối

sudo raspi-config 

Chọn Tùy chọn giao diện -> SSH. Nhấn Enter và chọn Bật hoặc tắt máy chủ ssh


0

Tôi không chắc chắn nếu mẹo của tôi sẽ hữu ích. Tôi đã có cùng một vấn đề và tôi mới tham gia vào thế giới linux. Sau khi đọc tài liệu Raspberry Pi, tôi thấy rằng vấn đề nằm ở Cấu hình Pi nơi SSH bị vô hiệu hóa.

Nhấp vào Menu Raspberry Pi -> Tùy chọn -> Khởi chạy Cấu hình Raspberry Pi Điều hướng đến tab Giao diện Chọn Kích hoạt bên cạnh SSH Nhấp OK Điều này đã giải quyết vấn đề của tôi. Hãy thử và cho tôi biết.


-1

với

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

Đó là một khởi đầu tốt để kiểm tra vấn đề là gì, nhưng không đủ để trả lời câu hỏi :-(
Morgan Courbet

-1

Tôi đã có cùng một vấn đề nhưng đã được giải quyết sau khi tôi chạy lệnh

sudo apt-get remove --purge iptables. và tắt kết nối không dây.


-1

Có 2 tệp cấu hình / etc / ssh / ssh_config và / etc / ssh / sshd_config

Thay đổi cổng từ 22 thành bất cứ điều gì bạn muốn trong cả hai tệp.

khởi động lại dịch vụ sudo service ssh restart


Nhưng ... nó sẽ chỉ hoạt động nếu ssh của bạn: vào cùng một máy. Điều gì sẽ là điểm của điều đó?
Bex
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.