SSH不起作用


10

我无法进入pi。RPI直接连接到我的主机PC。

我已经设置了主机的IP地址:----

sudo ifconfig eth0 192.168.0.204 netmask 255.255.255.0 up
sudo route add default gw 192.168.0.200

Pi在网络接口文件中的默认IP为:----

auto lo eth0
iface lo inet loopback
iface eth0 inet static
    address 192.168.0.202
    netmask 255.255.255.0
    gateway 192.168.0.200

如果在我的电脑上配置命令:-----

ignite@ignite-desktop:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 6c:f0:49:f3:a6:1b  
          inet addr:192.168.0.204  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::6ef0:49ff:fef3:a61b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:681 errors:0 dropped:0 overruns:0 frame:0
          TX packets:208 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:43752 (43.7 KB)  TX bytes:33407 (33.4 KB)
          Interrupt:26 Base address:0x4000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1012 (1.0 KB)  TX bytes:1012 (1.0 KB)

Ping在同一主机上工作:----

ignite@ignite-desktop:~$ ping 192.168.0.204
PING 192.168.0.204 (192.168.0.204) 56(84) bytes of data.
64 bytes from 192.168.0.204: icmp_seq=1 ttl=64 time=0.026 ms
64 bytes from 192.168.0.204: icmp_seq=2 ttl=64 time=0.018 ms
64 bytes from 192.168.0.204: icmp_seq=3 ttl=64 time=0.017 ms
64 bytes from 192.168.0.204: icmp_seq=4 ttl=64 time=0.014 ms

Ping正在我的主机PC上为pi工作:----

ignite@ignite-desktop:~$ ping 192.168.0.202
PING 192.168.0.202 (192.168.0.202) 56(84) bytes of data.
64 bytes from 192.168.0.202: icmp_seq=1 ttl=64 time=0.530 ms
64 bytes from 192.168.0.202: icmp_seq=2 ttl=64 time=0.508 ms
64 bytes from 192.168.0.202: icmp_seq=3 ttl=64 time=0.464 ms
64 bytes from 192.168.0.202: icmp_seq=4 ttl=64 time=0.445 ms
64 bytes from 192.168.0.202: icmp_seq=5 ttl=64 time=0.434 ms

SSH不起作用

ignite@ignite-desktop:~$ ssh pi@raspberrypi
ssh: Could not resolve hostname raspberrypi: Name or service not known

ignite@ignite-desktop:~$ ssh pi@192.168.0.202
Read from socket failed: Connection reset by peer

ignite@ignite-desktop:~$ ssh 192.168.0.202 -l pi
Read from socket failed: Connection reset by peer

请建议如何解决?

编辑:---
ssh -vvv pi@192.168.0.202 --->输出是

ignite@ignite-desktop:~$ ssh -vvv pi@192.168.0.202
OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.0.202 [192.168.0.202] port 22.
debug1: Connection established.
debug1: identity file /home/ignite/.ssh/identity type -1
debug1: identity file /home/ignite/.ssh/id_rsa type -1
debug1: identity file /home/ignite/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-2
debug1: match: OpenSSH_6.0p1 Debian-2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
Read from socket failed: Connection reset by peer

1
您是否已检查ssh守护程序是否正在运行?
2013年

实际上,我没有HDMI屏幕,并且正在使用我的远程台式计算机通过ssh登录到pi。现在我该如何检查?
艾伦

ps aux | grep sshd
codey

如果sshd正在运行,则输出将显示sshd进程。当然,除了我们刚刚运行的“ grep sshd”。
codeY的

Answers:


5

新安装的raspbian出现了相同的问题,问题出在服务器端ssh主机密钥上。

由于每个设备必须具有不同的ssh密钥,因此未在映像上生成这些密钥,并且在首次引导期间会自动生成这些密钥。

我的问题是,在生成这些密钥时,我断开了电源,它们的大小为零是错误的。

解决方案是重新生成ssh服务器端主机密钥:

rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server

https://wiki.debian.org/SSH#Regenerating_host_keys


2
如果一个人不能首先登录,应该如何重新生成ssh服务器端主机密钥(dpkg-reconfigure openssh-server)?
HayriUğurKoltuk

正是@HayriUğurKoltuk我在Mac上,该怎么办?
clearlight '18

4

问题和解决的原因

如果没有特殊程序,则无法使用其主机名进入Pi。对于LAN网络,请对主机执行ping操作。获得IP后,将其写下来。然后写入终端:

ssh pi@this_is_the_ip

并且您应该能够登录。

如果要从家庭网络外部访问Pi,则必须端口转发路由器。实际上,存在关于如何执行此操作的堆栈交换问题

假设您仍然想为Pi使用一个漂亮的名称,有一个选项可以在您的网络内使用也可以在没有网络的情况下使用。

DNS动态

该软件允许您为您的pi设置域名。

  1. 转到他们的网站并设置域名和帐户。

  2. ddclient在您的Pi上安装。

    sudo apt-get install ddclient 
    

    然后编辑配置设置。

    sudo nano /etc/ddclient.conf
    

    最后,将文件更改为以下内容:

# /etc/ddclient.conf

daemon=600

timeout=10

ssl=yes

protocol=dyndns2

use=web, web=myip.dnsdynamic.com #Enter your URL here

server=www.dnsdynamic.org

login=x@gmail.com  #userid for dnsdynamic.com

password='xxxx'      #password for the same put inside quotes

x.dnsdynamic.com  #the domain name you created

假设您希望每次计算机唤醒时自动启动,请在终端中输入以下内容。

sudo nano /etc/rc.local

在前面添加以下命令exit 0(这是最后一行)

sudo /usr/sbin/ddclient -daemon 600 -syslog

最后,您必须仍然向前移植。

希望这会有所帮助。在下面的评论部分中提问。


实际上,我已将最新的openssl编译并安装到目标RPi。现在ssh对我不起作用ssh是否取决于openssl?
艾伦

是SSL(安全套接字层)没有需要运行SSH。这实际上可能是此设置中的问题。但是,请尝试使用Pi的本地IP而不是其主机名。
xxmbabanexx

我已经为---> ssh -vvv pi@192.168.0.202 --->发布了o / p,您能建议问题出在哪里
Allan

我在主机和目标上重新生成密钥..从〜/ .ssh中删除了已知的主机文件...它起作用了……
艾伦

从删除所有文件:---的/ etc / SSH ---->除了shh_config --->和改变的ssh配置按照此链接---> blog.harshadura.net/2012/01/...
阿伦

0

您可以看看我对这些问题的回答。

如何获取SSH的Raspberry Pi的IP地址

我没有提到的另一种可能性是购买域名(非常便宜)并使用DNS。我aasgard.info以0.99美分的价格购买了该域名,并将名称分配ygdrasill.aasgard.info给了内部地址(192.168.1.141在这种情况下)。然后,您需要将默认域名设置为您购买的域名,然后:')

我必须承认,花了所有的时间来设置域之后,我才意识到使用/ etc / hosts文件或avahi要容易得多:)


0

您确定已经在Raspberry Pi上启动了SSH服务器吗?仅仅因为您可以ping它并不意味着它正在运行SSH服务器。尝试sshd使用小型SSH服务器。


0

启用S​​SH

从2016年11月发行版开始,Raspbian默认情况下禁用SSH服务器。

可以从终端手动启用:

sudo raspi-config
Select Interfacing Options
Navigate to and select SSH
Choose Yes
Select Ok
Choose Finish

要么

Launch Raspberry Pi Configuration from the Preferences menu
Navigate to the Interfaces tab
Select Enabled next to SSH
Click OK

或者,使用systemctl启动服务

sudo systemctl enable ssh
sudo systemctl start ssh

-1

默认情况下,最新树莓派中的SSH连接默认为禁用。RPi将于2016年11月或之后发布。

步骤是:1)将树莓派图像写入SD卡。2)创建一个没有扩展名的ssh文件。3)将该ssh文件复制到写入图像的SD卡上。4)最后,您将能够通过SSH来连接您的树莓派。

有关更多详细信息,请观看此视频:https : //www.youtube.com/watch?v=zKT6bTESlLs


2
欢迎来到Raspberry Pi!请浏览并访问帮助中心,以了解此处的工作方式。请注意,这个问题来自2013年。那时您描述的问题根本不是问题……
Ghanima
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.