在单用户模式下在 Mac 上启用 SSH

在单用户模式下在 Mac 上启用 SSH

我有一台 iMac,由于硬件严重损坏,我只能在单用户模式下访问它。我用以太网电缆将另一台计算机连接到它。我想通过 SSH 远程登录 iMac。iMac 运行的是 OS X 10.6.4。

我遇到过类似的答案,但尝试总是失败。

我尝试过systemsetup -setremotelogin on并且它返回以下错误消息:

systemsetup[63:903] setInetDServiceEnabled failed for ssh because authorizationRef is NULL!

同时launchctl load -w /System/Library/LaunchDaemons/ssh.plist给出:

DNSServiceRegister("ssh"): -65563
DNSServiceRegister("sftp-ssh"): -65563
bind(): Can't assign requested address
launch_msg(): Socket is not connected
launchctl: CFURLWriteDataAndPropertiesToResource(/var/db/launchd.db/com.apple.launchd/overrides.plist) failed: -10

我应该怎么办?

答案1

看起来您需要加载更多 plist:

launchctl load /System/Library/LaunchDaemons/com.apple.kextd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.notifyd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.configd.plist
launchctl load /System/Library/LaunchDaemon/com.apple.DirectoryServices.plist

然后执行之前尝试过的操作:

launchctl load -w /System/Library/LaunchDaemons/ssh.plist
systemsetup -setremotelogin on

之后,我认为您只需将以太网电缆插入两台计算机即可创建一个临时网络。ifconfig en0 | grep inet目标机器应该会获取其 IP 地址,然后一切就绪了。:)

答案2

您可以考虑三种解决方案。首先,尝试目标磁盘模式。如果单用户模式有效,那么目标磁盘模式也应该有效。

一旦以目标磁盘模式启动,将其插入您拥有的其他系统(使用火线),并告诉第二个系统从外部启动(启动时按住选项)。一旦受损系统中的操作系统使用本地系统硬件启动,请打开系统偏好设置并单击“共享”选择“远程登录”旁边的复选框以启用它。

关闭并重新启动,SSH 就应该可以启动并运行。

第二种选择是从损坏的系统中移除硬盘并从外部启动(在外部机箱中)或将其放在您的功能系统内部并从那里启动。

如果上述方法都不起作用,但你正在运行单用户,请考虑

cd /Library/Preferences
echo -n enabled > com.apple.ScreenSharing.launchd

这将打开屏幕共享,使用它来访问远程机器上的系统偏好设置,进行更改(打开 SSH),然后就可以使用了。

答案3

为什么不直接启动 sshd?网络启动后将/usr/sbin/sshd -p 4212在端口 4212 上打开 ssh 服务器。

相关内容