在家里,我设置了一个带有最新版本 Raspbian 并ssh
启用的 Raspberry Pi。
我还使用装有 OS X 10.9.3 的 Mac Book Pro。我曾经在 Raspberry Pi 上做过一些工作,到目前为止没有问题。ssh [email protected]
然后我配置了我的路由器,这样ssh
树莓派的端口也可以在互联网上使用。
ssh
在我的办公室,我尝试通过互联网访问 Raspberry Pi,结果是:ssh [email protected]
ssh_exchange_identification: Connection closed by remote host
因此,我在办公室里拿了另一台机器Putty
,我可以使用相同的命令毫无问题地登录。我什至ssh
在我的 iPad 上尝试了一个客户端,甚至可以连接。从外部看,只有 Mac Book 无法工作。
在家里,我将 Macbook 连接到 LAN,然后就可以访问 Raspberry Pi。
因此,我/etc/hosts.allow
在 Raspberry Pi 上进行了编辑,SSHD: ALL
将 比我设置sshd LogLevel
为debug
,然后检查了我的 MacBook 是否出现在 中/etc/hosts.deny
,但什么也没有。
为什么 Mac Book 作为唯一的设备会收到错误消息:
ssh_exchange_identification: Connection closed by remote host while trying to access from remote.
ssh -Y -p 80 -i ~/bin/keys/pie.rsa -vvv [email protected]
:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/piuser/.ssh/config
debug1: /Users/piuser/.ssh/config line 2: Applying options for *
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to myhomepie.at [xx.x.xxx.xxx] port 80.
debug1: Connection established.
debug3: Incorrect RSA1 identifier
debug3: Could not load "/Users/piuser/bin/keys/pie.rsa" as a RSA1 public key
debug1: identity file /Users/piuser/bin/keys/pie.rsa type -1
debug1: identity file /Users/piuser/bin/keys/pie.rsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: Connection closed by remote host
一些更新:
我在 OS X 上的带有 NAT 的虚拟机中安装了 SLES,如果我尝试连接,则会收到相同的错误。更改为桥接后,我可以从虚拟机连接到 SLES 机器。 Soooooo,据我所知,只有两种可能的方法。
1.) 不知何故,我的 Mac 阻止了外部对 Raspberry Pi 的访问 orrrrrr
2.) 在 Raspberry Pi 上的某个地方,我的 WLAN 或 Eth0 的 Mac 地址被阻止:( 但因为现在没有防火墙,并且 /etc/hosts.deny 中没有任何内容,所以 Raspbian 中是否有一个位置我的 Mac 可能会在哪里被阻止?
所以,一些更新,我改变了我的OS X的主机名,仍然没有进展。然后,我决定欺骗我的 Mac 地址,我用它从 OS X 连接到本地路由器,奇怪的是,当我第一次尝试通过 ssh 连接时,我得到了这个:
ssh: Could not resolve hostname mypi.dyndns.org: nodename nor servname provided, or not known
我第二次尝试时又得到:
ssh_exchange_identification: Connection closed by remote host
所以,现在我grep -r这MAC地址和主机名在Raspberry Pi上,我也会寻找本地知识产权我的盒子在我的内联网中使用。