
Found the following script:
#!/bin/bash
#############################################
# AUTHOR: JONATHAN SCHWENN @JONSCHWENN #
# MAC MINI VAULT - MAC MINI COLOCATION #
# MACMINIVAULT.COM - @MACMINIVAULT #
# VERSION 1.01 RELEASE DATE NOV 05 2013 #
# DESC: CHANGES THE PORT SSH LISTENS ON #
#############################################
#REQUIREMENTS:
# OS X 10.8 or newer
#############################################
#CHECK FOR OS X 10.8+
if [[ $(sw_vers -productVersion | grep '10.[8-9]') ]]
then
echo "THIS SCRIPT WILL CHANGE YOUR SSH PORT AND RESTART SSH."
echo "THE DEFAULT PORT FOR SSH IS 22, WE RECOMMEND A CUSTOM"
echo "PORT OVER 1000. THIS SCRIPT CAN ALSO RETURN SSH BACK"
echo "TO 22, JUST ENTER "22" FOR THE PORT NUMBER."
echo "........."
echo "PLEASE ENTER A PORT NUMBER:"
while read port; do
if [[ $port =~ ^[0-9]{2,5}$ ]]; then
if [[ $port = 22 ]]; then
sudo /usr/libexec/PlistBuddy -c "Set Sockets:Listeners:SockServiceName ssh" /System/Library/LaunchDaemons/ssh.plist
echo "SYSTEM WILL NOW LISTEN ON DEFAULT PORT 22 FOR SSH"
break 2
else
sudo /usr/libexec/PlistBuddy -c "Set Sockets:Listeners:SockServiceName $port" /System/Library/LaunchDaemons/ssh.plist
echo "SYSTEM WILL NOW LISTEN ON PORT $port FOR SSH"
break 2
fi
else
echo "INVALID PORT: MUST BE NUMERIC! (2 to 5 digits)"
fi
done
#TURN OFF AND TURN BACK ON REMOTE LOGIN
echo "yes" | sudo systemsetup -setremotelogin off > /dev/null 2>&1
sleep 5
sudo systemsetup -setremotelogin on > /dev/null 2>&1
else
echo "ERROR: YOU ARE NOT RUNNING OS X 10.8 OR NEWER"
exit 1
fi