Da quello che ho letto (e sperimentato) finora, ci sono tre metodi principali che possono essere utilizzati:
- modificare l'impostazione nel file ssh.plist;
- cambiare l'impostazione nel file / etc / services;
- cambia l'impostazione nel file /etc/sshd.conf.
Un altro modo per farlo, che personalmente preferisco di gran lunga a tutti e ciascuno di questi metodi, perché evita di fare casino con i file di sistema di Mac OS X è usare socat per reindirizzare la porta 22 a qualunque porta tu voglia.
- Scarica socat: http://www.dest-unreach.org/socat/download/socat-1.7.3.2.tar.gz
- Sposta il file tar.gz nella tua directory / usr / local / (
sudo mv ./socat-1.7.3.2.tar.gz /usr/local/bin/socat-1.7.3.2.tar.gz
)
- Vai alla tua directory / usr / local / bin (
cd /usr/local/bin
)
- uncompress:
sudo tar -xvzf socat-1.7.3.2.tar.gz
- Passa alla directory del file non compresso:
cd ./socat-1.7.3.2
- Esegui la solita configurazione, make e make install per installare socat (
sudo ./configure && sudo make && sudo make install
)
- Reindirizzare la porta 22 (predefinita ssh) a qualsiasi porta desiderata (nel seguente esempio, 2222) utilizzando l'opzione corretta inviando una chiamata socat (
sudo socat TCP-LISTEN:2222,reuseaddr,fork TCP:localhost:22
)
Il gioco è fatto e i file di sistema di mac os x rimangono invariati. Inoltre, questo metodo funziona non solo su Snow Leopard, ma su tutte le versioni di Mac OS X e anche su qualsiasi macchina su cui è possibile eseguire socat.
L'ultima cosa che devi fare se usi un router / firewall è includere i comandi di reindirizzamento corretti nel tuo router / firewall.
Inoltre, evita di rimanere bloccato nel dibattito se il metodo ssh.plist, il metodo services o il metodo qualunque sia migliore, più elegante o peggiore dell'altro.
È inoltre possibile preparare facilmente uno script che viene eseguito all'avvio per ricostruire il reindirizzamento socat ogni volta che si riavvia il computer. Metti questo in /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>
Utilizzare sudo launchctl load -w /Library/LaunchDaemons/com.serverfault.sshdredirect.plist
per caricarlo. Verrà caricato automaticamente su riavvii futuri.
Inoltre, puoi anche migliorare la sicurezza (i) impostando il firewall in modo da bloccare qualsiasi connessione alla tua porta 22 da qualsiasi altra interfaccia diversa dal loopback (127.0.0.1) e (ii) apportare una modifica simile al tuo file sshd.conf su ascolta ssh solo sul loopback.
Godere.
/usr/libexec/sshd-keygen-wrapper
(mostrato nelle liste seguenti) è possibile avviare un SSH diverso da quello specificato nella scheda stessa. Se lo gatto, inizia sempre/usr/sbin/sshd
.