Según lo que he leído (y experimentado) hasta ahora, hay tres métodos principales que se pueden usar:
- cambie la configuración en el archivo ssh.plist;
- cambiar la configuración en el archivo / etc / services;
- cambie la configuración en el archivo /etc/sshd.conf.
Otra forma de hacerlo, que personalmente prefiero con mucho a todos y cada uno de estos métodos, porque evita perder el tiempo con los archivos del sistema Mac OS X es usar socat para redirigir el puerto 22 al puerto que desee.
- Descargar socat: http://www.dest-unreach.org/socat/download/socat-1.7.3.2.tar.gz
- Mueva el archivo tar.gz a su directorio / usr / local / (
sudo mv ./socat-1.7.3.2.tar.gz /usr/local/bin/socat-1.7.3.2.tar.gz
)
- Vaya a su directorio / usr / local / bin (
cd /usr/local/bin
)
- Descomprimir:
sudo tar -xvzf socat-1.7.3.2.tar.gz
- Mover al directorio de archivos sin comprimir:
cd ./socat-1.7.3.2
- Ejecute la configuración habitual, make y make install para instalar socat (
sudo ./configure && sudo make && sudo make install
)
- Redirija el puerto 22 (ssh predeterminado) a cualquier puerto que desee (en el siguiente ejemplo, 2222) utilizando la opción correcta enviando una llamada socat (
sudo socat TCP-LISTEN:2222,reuseaddr,fork TCP:localhost:22
)
Ya ha terminado y sus archivos de sistema mac os x no se modifican. Además, este método funciona no solo en Snow Leopard, sino en todas las versiones de Mac OS X y también en cualquier máquina en la que se pueda ejecutar Socat.
Lo último que debe hacer si utiliza un enrutador / firewall es incluir los comandos de redireccionamiento correctos en su enrutador / firewall.
Además, evita quedar atrapado en el debate sobre si el método ssh.plist, el método de servicios o el método que sea mejor, más elegante o peor que el otro.
También puede preparar fácilmente un script que se ejecute al inicio para reconstruir la redirección socat cada vez que reinicie su máquina. Coloque esto en /Library/LaunchDaemons/com.serverfault.sshdredirect.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.serverfault.sshdredirect</string>
<key>KeepAlive</key>
<dict>
<key>NetworkState</key>
<true/>
</dict>
<key>RunAtLoad</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/socat</string>
<string>TCP-LISTEN:2222,reuseaddr,fork</string>
<string>TCP:localhost:22</string>
</array>
</dict>
</plist>
Use sudo launchctl load -w /Library/LaunchDaemons/com.serverfault.sshdredirect.plist
para cargarlo. Se cargará automáticamente en futuros reinicios.
Además, también puede mejorar la seguridad (i) configurando su firewall para bloquear cualquier conexión a su puerto 22 desde cualquier otra interfaz que no sea el loopback (127.0.0.1) y (ii) realice un cambio similar en su archivo sshd.conf para haga que ssh escuche solo en el loopback.
Disfrutar.
/usr/libexec/sshd-keygen-wrapper
( que se muestra en las listas a continuación) puede iniciar un SSH diferente al especificado en la propia lista. Si lo atrapas, siempre comienza/usr/sbin/sshd
.