Created
May 13, 2014 17:51
-
-
Save jacobsalmela/fcb68a7af67d16f0d42d to your computer and use it in GitHub Desktop.
Enables outbound SSH in Single-user Mode on OS X
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# https://github.com/jacobsalmela | |
# Enables outbound SSH in single-user mode on OS X | |
# Save this file as /var/root/.profile and boot into single-user mode | |
# Last tested on 10.9.2 | |
#----------VARIABLES--------- | |
# Manually set ethernet device ID | |
ethernetID="en0" | |
# Put static IPv4 with subnet mask here | |
ethernetIP="10.x.x.x 255.255.0.0" | |
#----------FUNCTIONS--------- | |
####################### | |
function mountAndLoad() | |
{ | |
/sbin/fsck -fy | |
/sbin/mount -uw / | |
# Loads daemons needed for networking in SUM | |
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 | |
# Sleep to allow the NIC to initialize | |
sleep 15 | |
} | |
########################## | |
function setWiredAddress() | |
{ | |
# Set a static IP | |
ipconfig set $ethernetID INFORM $ethernetIP | |
} | |
################################ | |
function loadDaemonsForSSH() | |
{ | |
sleep 5 | |
# Possible daemons needed to enable SSH | |
launchctl load -w /System/Library/LaunchDaemons/com.apple.distnoted.xpc.daemon.plist | |
launchctl load -w /System/Library/LaunchDaemons/com.apple.securityd.plist | |
launchctl load -w /System/Library/LaunchDaemons/com.apple.securityd_service.plist | |
launchctl load -w /System/Library/LaunchDaemons/com.apple.opendirectoryd.plist | |
launchctl load -w /System/Library/LaunchDaemons/com.apple.dnsextd.plist | |
launchctl load -w /System/Library/LaunchDaemons/com.apple.Kerberos.digest-service.plist | |
launchctl load -w /System/Library/LaunchDaemons/com.apple.Kerberos.kadmind.plist | |
launchctl load -w /System/Library/LaunchDaemons/com.apple.Kerberos.kcm.plist | |
launchctl load -w /System/Library/LaunchDaemons/com.apple.Kerberos.kdc.plist | |
launchctl load -w /System/Library/LaunchDaemons/com.apple.Kerberos.kpasswdd.plist | |
# Load SSH | |
launchctl load -w /System/Library/LaunchDaemons/ssh.plist | |
echo "Outbound SSH is now enabled." | |
} | |
#---------------------------------# | |
#----------SCRIPT BEGINS----------# | |
#---------------------------------# | |
if [ $TERM = "vt100" ];then | |
mountAndLoad | |
setWiredAddress | |
loadDaemonsForSSH | |
fi | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment