我无法ssh
通过将文件放入启动文件夹来启用它,是的,它是在没有任何Windows 7
机器扩展的情况下创建的,并且在启动后会被删除。
这是应该发生的事情:
对于无头设置,可以通过将名为 的文件
ssh
(不带任何扩展名)从另一台计算机放到 SD 卡的启动分区上来启用 SSH。当 Pi 启动时,它会查找该ssh
文件。如果找到,则启用 SSH 并删除该文件。文件的内容无关紧要;它可能包含文本,也可能什么都没有。
(来源)
我不想使用键盘和显示器,因为当我连接以太网时,我可以获得分配给 Respberry Pi 3 的 IP,并且还可以 ping 0% 丢失。
寻找答案后,我发现并未启用,这就是每次尝试时都返回“连接被拒绝”的ssh
原因。putty
cmdline.txt
现在我看到启动文件夹中有这个程序,它是每次启动时都会运行的吗?我可以使用 来启用ssh
它吗?如果是,该怎么做?
以下是所有详细信息,如果需要其他信息,请告诉我。
- 我的系统:Windows 7 Update 1
- 树莓派型号:Raspberry Pi 3 B
- 树莓派操作系统:Raspbian Stretch Lite
- 監視器:否
- 键盘:无
- Ping 请求:响应无数据包丢失
- 连接类型:以太网
- SSH:未启用(如何启用?)
编辑:现在我可以使用 Paragon ExtFS for Windows 将“rootfs”安装到我的 Windows 7 机器上,但还不知道如何启用ssh
,如能得到任何帮助我将不胜感激
答案1
最后,我终于找到了另一种启用 的方法ssh
。我将尝试在这里总结一下。我试过了PiBakery但是它太重了nodejs
,每次尝试都会崩溃。
问题:Ext4
格式无法从窗口读取
因此,一旦您通过任何 img 刻录工具刻录 Raspbian,它都会创建两个分区Boot
& rootfs
。该boot
分区采用 FAT 格式,并且仅对 Windows 可见,而带有 的分区rootfs
则Ext4
完全不可见(您可以通过在 MiniTool 分区向导中查看来确认)
任务:从 Windows 编辑配置以强制启用ssh
我的任务是强制启用,ssh
因为它不符合官方说明(将ssh
文件放入启动分区)。所以我下载了适用于 Windows 的 Paragon ExtFS这使得 Windows 7 能够 Ext4
通过将其安装为新驱动器来浏览/编辑分区中的文件。
在此之前我也尝试过Ext2Fsd-0.69但它与 Windows 7 和其他ext2explore-2.2.71只能查看文件而不能编辑它们。对我来说没什么用
破解方法:/etc/rc.local
在 Windows 7 中编辑文件
在谷歌搜索了几乎一整天后,我了解到了两件事
- 可以通过编辑分区
/etc/rc.local
中的文件来执行命令rootfs
- 启动命令
ssh
是/etc/init.d/ssh start
因此,我编辑了该rc.local
文件,将其放在/etc/init.d/ssh start
前面,exit 0
以便它在每次启动时执行,如下所示
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
/etc/init.d/ssh start
exit 0
而且它确实有效!我知道这不是一个好办法,但它可以帮助有需要的人。我必须感谢@KamilMaciorowski感谢他的帮助和编辑。
如果您发现任何可能由此产生的问题,请在下面发表评论。
答案2
我遇到了类似的问题。我有几个 Raspberry Pi,在插入第一个后,我意识到我忘记正确设置它了,于是重新创建了映像。然后,我对所有 SD 卡进行了更改。第一个 Raspberry Pi 无法工作,但其他所有 Raspberry Pi 都可以工作。我必须重新创建 SD 卡映像,插入 ssh 文件,然后它才能工作。
您必须在第一次启动之前创建 ssh 文件。如果您启动一次 SD 卡并且它没有经过自定义,它将无法按预期工作。
- 对 SD 卡进行映像处理
- 做出必要的改变
- 然后首次启动
答案3
听起来你没有使用全新的 Raspbian 副本,因为官方方法仅在你第一次启动全新的 Raspbian 副本时有效。之后,你必须再次对卡进行映像处理。
使用 Windows 10 进行无头 Raspbian 安装
- 从开始新鲜副本使用任何标准方法。如果您已经在 Raspberry Pi 中使用该卡,则需要从头开始。完成后,查找带有“boot”标签的外部设备。这是您的 Raspberry Pi 启动分区。
- 如果您在文件资源管理器中看不到启动分区,您可能需要为其分配一个驱动器号。在 Windows 10 中执行此操作的一种方法是右键单击“开始”菜单,然后单击“磁盘管理”。这将显示计算机上的所有分区。找到一个标有“启动”的分区。右键单击该分区,然后单击“更改驱动器号和路径...”在下一个对话框中单击“添加...”并接受默认值(或将其更改为未使用的字母)。接受这些更改后,您应该能够在文件资源管理器中看到启动分区并继续执行其他说明。
选修的:
wpa_supplicant.conf
通过在启动分区中创建一个名为“Raspberry Pi”的纯文本文件,并使用其中描述的 WiFi 网络首选项,将 Raspberry Pi 设置为连接到 WiFi 网络这里. 替换下面示例中的YourNetworkSSID
和:Your Network's Passphrase
country=US ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="YourNetworkSSID" psk="Your Network's Passphrase" key_mgmt=WPA-PSK }
- 选修的:
ssh
通过在启动分区中创建一个名为 的文件(没有文件扩展名)来启用 SSH 服务器。您可以通过右键单击启动分区并选择“新建”,然后选择“文本文档”来执行此操作。使用ctrl-a
选择整个文件名(包括.txt
)并将其重命名为ssh
。Windows 会警告您可能使该文件无法使用。没关系。 - 仅适用于 Raspberry Pi Zero:将 Raspberry Pi Zero 设置为 USB 以太网小工具,这样您就可以将微型 USB 端口连接到计算机的 USB 端口,并按照说明直接连接到它这里。在启动分区中找到名为的文件
config.txt
,然后在记事本(或其他编辑器)中编辑它。dtoverlay=dwc2
在文件末尾单独留一行,保存并关闭文件。cmdline.txt
在启动分区中找到名为的文件,然后在记事本(或其他编辑器)中编辑它。在该文件中查找单词“rootwait”,并在其后紧接着留一个空格,然后输入modules-load=dwc2,g_ether
。该文件中应该只有一行文本。不要换行。 - 如果你在 Windows 机器上安装了 Apple 的 Bonjour 打印服务,你可能会发现在打开 Raspberry Pi 后更容易确定它的 IP 地址。你可以找到它这里或者如果链接失效了就用 Google 搜索。
- 从电脑中弹出 SD 卡并将其放入 Raspberry Pi。如果您按照上述步骤 5 操作,则可以将 Raspberry Pi 直接连接到电脑的 USB 端口。如果您按照步骤 4 和 6 操作,您应该能够通过 SSH 连接到
raspberrypi.local
Apple 的 Bonjour 打印服务分配的地址。否则,请像平常一样启动它并通过以太网或 WiFi 连接,或者按照您计划的方式连接。
享受!