我有一台 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 服务器。