Pelo que li (e experimentei) até agora, existem três métodos principais que podem ser usados:
- altere a configuração no arquivo ssh.plist;
- altere a configuração no arquivo / etc / services;
- altere a configuração no arquivo /etc/sshd.conf.
Outra maneira de fazer isso, que eu pessoalmente prefiro a todos e a cada um desses métodos, porque evita mexer nos arquivos de sistema do Mac OS X é usar o socat para redirecionar a porta 22 para a porta que você desejar.
- Faça o download do socat: http://www.dest-unreach.org/socat/download/socat-1.7.3.2.tar.gz
- Mova o arquivo tar.gz para o seu diretório / usr / local / (
sudo mv ./socat-1.7.3.2.tar.gz /usr/local/bin/socat-1.7.3.2.tar.gz
)
- Vá para o diretório / usr / local / bin (
cd /usr/local/bin
)
- Descomprimir:
sudo tar -xvzf socat-1.7.3.2.tar.gz
- Mova para o diretório de arquivo descompactado:
cd ./socat-1.7.3.2
- Execute a configuração usual, faça e faça install para instalar socat (
sudo ./configure && sudo make && sudo make install
)
- Redirecione a porta 22 (ssh padrão) para qualquer porta que você deseja (no exemplo a seguir, 2222) usando a opção correta enviando uma chamada socat (
sudo socat TCP-LISTEN:2222,reuseaddr,fork TCP:localhost:22
)
Você terminou e seus arquivos de sistema do Mac OS X permanecem inalterados. Além disso, esse método funciona não apenas no Snow Leopard, mas em todas as versões do Mac OS X e também em qualquer máquina na qual o socat possa ser executado.
A última coisa que você precisa fazer se usar um roteador / firewall é incluir os comandos de redirecionamento corretos no seu roteador / firewall.
Além disso, evita ficar preso no debate se o método ssh.plist, o método de serviços ou o método que é melhor, mais elegante ou pior que o outro.
Você também pode preparar facilmente um script que é executado na inicialização para reconstruir o redirecionamento socat cada vez que você reinicia sua máquina. Coloque isso em /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 carregá-lo. Ele será carregado automaticamente em futuras reinicializações.
Além disso, você também pode melhorar a segurança (i) configurando seu firewall para bloquear qualquer conexão com a porta 22 de qualquer outra interface que não seja o loopback (127.0.0.1) e (ii) faça uma alteração semelhante no seu arquivo sshd.conf para faça com que o ssh escute apenas no loopback.
Desfrutar.
/usr/libexec/sshd-keygen-wrapper
(mostrado nas listas abaixo) pode iniciar um SSH diferente do especificado na própria lista. Se você gosta, sempre começa/usr/sbin/sshd
.