在不带屏幕的RPi上启用SSH-raspi-config的击键操作?


52

我没有Raspberry Pi的屏幕。我想通过SSH进行连接,但是连接被拒绝,因此我认为未启用SSH。

正如其他问题所建议的那样,我研究了在sd卡上启用boot_enable_ssh.rc脚本。但是,我的操作系统中没有引导目录(或者通过iMac中的读卡器无法看到引导目录)-2012-12-16-wheezy-raspbian.img。

我也尝试通过USB键盘发出以下命令:

pi [enter]
raspberry [enter]
sudo /etc/init.d/ssh start [enter]
raspberry [enter]

但这没有用。现在在一些文档中,我看到raspi-config是新启动的RPi的第一件事。有人可以告诉我通过raspi-config启用SSH的击键吗?如果我走错了路,请提出建议。谢谢。

编辑:在尝试遵循此建议https://raspberrypi.stackexchange.com/a/1706/4373在我的iMac上安装SD卡时,我没有看到etc目录。如果我从终端运行ls,只会得到以下内容:

bootcode.bin            fixup.dat               kernel.img            start.elf
cmdline.txt             fixup_cd.dat            kernel_cutdown.img      start_cd.elf
config.txt              issue.txt               kernel_emergency.img

我是否搞砸了SD卡的映像?


暂时不能插入屏幕吗?
2013年

嗨,亚当,我没有电缆。
Lemmy 2013年

我当前所在的位置没有我的RPi,但是据我回忆,第一次启动Raspian Wheezy时会显示一个设置对话框(sudo raspi-config),您可以在其中启用SSH。为此,也许您可​​以按照此视频中显示的步骤操作:youtube.com/watch ? v=nXvODj6YpAE?我知道这是一种原始的方法,但我想我会提一下:)
Lasse Christiansen

Answers:


22

ssh已安装,但在运行级别2(默认为raspbian)上默认未启动。
重命名/etc/rc2.d/ssh/K??ssh/etc/rc2.d/ssh/S02ssh

编辑
sd卡带有2个分区。第一个是vfat;第二个是ext3。您需要一些实用程序才能从macosx访问它。

ext2 macosx的第一个Google搜索结果:http :
//blog.applegrew.com/2011/12/access-ext3ext2-file-system-on-mac-osx-lion-10-7/

还要检查 /var/log/auth.log

UPDATE 2016
默认的树莓派发行版现在是raspbian jessie,并使用systemd代替sysvinit。现在是命令行systemctl enable ssh.socket(尽管默认情况下应启用ssh)。

注:我仍然有/etc/rc2.d/ssh/S02ssh/var/log/auth.log从喘息升级到杰西后; 全新安装的jessie可能会或可能不会。


谢谢,借助该链接,我现在可以看到该分区。我在rc2.d中没有ssh文件夹。我在rc2.d的根目录中有一个S02ssh文件(看起来像一个链接)。
Lemmy 2013年

OK,S02ssh文件是指向init.d / ssh的链接,所以我认为SSH已经启用?
Lemmy 2013年

K表示杀死;S表示开始。在init.d中的文件都被以“停止”或“开始”作为参数从12月16日IIRC取决于file.On的名字我的形象,它被K.
中号Noit

1
好的,我现在在-我尝试连接到错误的IP地址。RPi没有从Mac终端显示,但我可以从路由器配置中看到它。页。因此,我将此答案标记为正确,因为它帮助我找到了解决方案,并将对其他查看其SD卡的mac用户有用。作为附带问题,默认情况下,当前发行版似乎启用了SSH。
Lemmy 2013年

1
@ Frankenstein:更新了我的答案,谢谢。
M Noit

117

您需要做的就是将一个名为'ssh'的空文件放到 SD卡的启动(FAT)分区上(无需挂载ext3)。经过2016-11-25-raspbian-jessie-lite.img测试。

资料来源:https : //www.raspberrypi.org/documentation/remote-access/ssh/

有关16年11月安全更新的详细信息:https : //www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/


13
自16年12月起,这应该是公认的答案。但是,请更换由各自的博客条目的链接(不反正解释无头安装)raspberrypi.org/blog/a-security-update-for-raspbian-pixel
flaschbier

4
引导分区是带有start.elf文件的分区。链接的博客文章将其称为/boot/目录,使我感到困惑
raphael

1
这个作品,用-2017-04-10-raspbian-jessie
Divyanshu Jimmy

1
可以通过2019-04-08-raspbian-stretch
Oenotria

1
于2019-07-10-raspbian-buster确认。
BrainStone

15

使用微调图像时,我遇到了同样的问题。

目标是让皮开机,以便您可以ssh到它从另一个系统,而无需以往连接显示器和键盘。

问题是,虽然SSH服务已启用,如上面提到的,尚未配置的是,这样即使网络运行您无法连接。以下是使此工作正常进行的任务:

  1. 将图像放在SD卡上。(覆盖其他地方。)

  2. 确保Pi启动后即可确定TCP / IP地址。

    提示:查看路由器以查看已分配的地址。

  3. 确保ssh将运行并允许连接。这是我的做法:

    一种。挂载第二个SD卡分区,其中一个大etc目录。

    b。建立档案etc/SSHFLAG

    C。将以下代码插入到etc/rc.localexit 0行的上方。

    if [ -e /etc/SSHFLAG ]; then
      /usr/sbin/update-rc.d -f ssh defaults
      /bin/rm /etc/SSHFLAG
      /sbin/shutdown -r now
    fi
    

    这个想法是,当您的Pi启动时,SSHFLAG文件会触发它重新配置ssh(重新生成密钥并启动服务),删除标志文件,使其仅发生一次,然后重新启动系统。为我工作,YMMV


解决问题的好方法。
0xC0000022L13年

之后,我必须添加/etc/init.d/ssh start/etc/rc.local文件中,因此SSH服务启动。
伊万·佩雷斯

伊凡:不知道为什么我的解决方案对您失败。最可能的解释是a)错字,或b)对rpi ssh软件包的更改。可能不值得调试。如果尚未配置ssh服务(即,如果尚未生成密钥),则您的解决方案可能无法正常工作。
通常

我的经历和伊万完全一样。SSH开始工作。
罗伯特3452年

7

对于无头设置,可以通过将名为“ ssh”的文件(没有任何扩展名)放置到SD卡的引导分区上来启用SSH。


1
不是“可以”,但是必须是并且自2016年11月以来。问题是从2013
。– techraf

3

根据我昨天的经验:默认情况下,2012-12-16-wheezy-raspbian.img(建议为“官方发行版”)已启用SSH。从http://www.raspberrypi.org/downloads获取

您无需编辑卡上的任何内容,也无需在“盲模式”下启动raspi-config。

只需确保使用正确的IP地址即可。使用您的路由器DHCP Web界面从表中获取IP。使用电缆,而不是WiFi;确保SD卡正常(您可以尝试使用其他SD卡);确保SD卡文件系统正常(尝试再次写入图像,并且不要忘记正确“弹出”卡)。


要旨是正确的,但细节不是。ssh默认情况下未启用。而是regenerate_ssh_host_keys启用,它将ssh在生成主机密钥后启用并禁用自身。当然,最终效果是相同的。
0xC0000022L13年

2

几个月没有使用pi后,通过google转到了此页面。最近更新之后,默认情况下禁用ssh。

为了对Jessie进行无头的全新安装,任何人都可以从中受益:

pi

覆盆子

须藤nano / boot / ssh

测试[或任何其他文字]

[按ctrl-x]

ÿ

sudo shutdown -r现在

做完了!祝一切顺利。

记住要更改密码并通过ssh禁用用户“ pi”。


1
为什么/boot/ssh可以使用与您用来刷新SD卡的计算机相同的计算机创建任何人?另外,如果禁用默认用户,则如何登录?
德米特里·格里戈里耶夫

1

SD卡上有多个分区,而Mac上显示的文件就是/boot/Raspberry上安装的分区中的文件。

SD卡上应该有另一个分区,该分区将存储根/分区(aka ),其中包含所有/etc/...内容。确保在Mac上启用EXT3文件系统支持,以在Mac OS X上提供此功能。


1

另外,我只是将此文件放在启动分区中,然后SSH自动启动。链接到boot_enable_ssh.rc

实际上,我刚刚在网上发现了对RPi的Debian修改,默认情况下已启用SSH。我检查了启动分区并找到了该文件!


1
如果您丢失了tib20,则可以使用它来启用SSH。只需将他链接的文件直接拖放到引导分区中,即可正常工作!谢谢你 更改pi上的主机名后,我丢失了SSH。

1

我听到很多“在网络上找不到”的问题。我建议运行此命令以查找ssh端口打开的所有计算机。

nmap 192.168.0.1/24 -p 22
# change the 192.168.0.1 part to match the first 3 octets of your ip address
# as seen via: ifconfig

这对我来说非常重要,因为我没有所连接路由器的管理员密码。现在,我要说的是,即使我确定了树莓派的IP地址,即使nmap说端口是开放的,我仍然无法连接。我立即收到一条消息...

Connection closed by 192.168.0.116

我还没弄清楚那个。


1

只是进行更新,有一种更简单的方法可以执行此操作。

从2016年11月发行版开始,Raspbian默认禁用SSH服务器。>您将必须手动启用它。这是使用raspi-config完成的:

在终端中输入sudo raspi-config,首先选择接口选项,然后>导航到ssh,按Enter并选择启用或禁用ssh服务器。

对于无头安装,可以通过将没有任何扩展名的名为“ ssh”的文件放置到SD卡的引导分区上来启用SSH。

资源

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.