在 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 伺服器。

相關內容