![Raspbian 无头 ssh(sshswitch.service)文件不起作用](https://linux22.com/image/1577039/Raspbian%20%E6%97%A0%E5%A4%B4%20ssh%EF%BC%88sshswitch.service%EF%BC%89%E6%96%87%E4%BB%B6%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我刚刚下载并写入Raspbian Stretch headless image
了 micro SD 卡。我添加了 DHCP 配置以给以太网适配器一个10.0.0.254
地址。然后我给了我的台式电脑的以太网适配器一个地址10.0.0.2
,并用以太网电缆将电脑连接到树莓派。
我测试过我可以 ping 一下树莓派,10.0.0.254
所以我知道我可以与它通信。
然后我按照第 3 项中的说明进行操作远程访问自述文件通过在启动分区的根目录中放置一个名为的空文件ssh
。我将此分区安装在 Linux 系统上,并验证它包含所有 raspbian 启动文件(例如 cmdline.txt)。
当我将 SD 卡放回 pi 并启动时,文件ssh
不会被删除,而且connection refused
尝试 ssh 进入 pi 时总是会收到一条消息。有什么线索吗?我使用无头图像和这种访问方法来避免使用单独的显示器和键盘,因此这种方法不起作用有点麻烦。
答案1
我能够通过修改文件来使其工作,以便在 中sshswitch.service
查找文件,而不是。然后我在分区的根目录中创建了该文件。以下是位于 的修改版本。ssh
/
/boot
ssh
rootfs
sshswitch.service
/lib/systemd/system/sshswitch.service
[Unit]
Description=Turn on SSH if /ssh is present
ConditionPathExistsGlob=/ssh{,.txt}
After=regenerate_ssh_host_keys.service
[Service]
Type=oneshot
ExecStart=/bin/sh -c "update-rc.d ssh enable && invoke-rc.d ssh start && rm -f /ssh ; rm -f /ssh.txt"
[Install]
WantedBy=multi-user.target
这就是我为解决问题所做的事情,这不是问题的“修复”,但它可能会对处于同样境况的其他人有所帮助。