Şu ana kadar okuduklarımdan (ve yaşadıklarımdan), kullanılabilecek üç ana yöntem var:
- ssh.plist dosyasındaki ayarı değiştirin;
- / etc / services dosyasındaki ayarları değiştir;
- /etc/sshd.conf dosyasındaki ayarları değiştirin.
Kişisel olarak bu yöntemlerin hepsini ve her birini tercih ettiğimden başka bir yol, çünkü Mac OS X sistem dosyalarını karıştırmaktan kaçınıyor, 22 numaralı bağlantı noktasını istediğiniz bağlantı noktasına yönlendirmek için socat kullanıyor.
- Socat'ı indirin: http://www.dest-unreach.org/socat/download/socat-1.7.3.2.tar.gz
- Tar.gz dosyasını / usr / local / dizinine (
sudo mv ./socat-1.7.3.2.tar.gz /usr/local/bin/socat-1.7.3.2.tar.gz
) taşıyın
- / Usr / local / bin dizinine (
cd /usr/local/bin
) gidin
- sıkıştırmasını:
sudo tar -xvzf socat-1.7.3.2.tar.gz
- Sıkıştırılmamış dosya dizinine taşı:
cd ./socat-1.7.3.2
- Socat (
sudo ./configure && sudo make && sudo make install
) işlevini yüklemek için olağan configure, make ve install komutlarını çalıştırın.
- Bir socat araması (
sudo socat TCP-LISTEN:2222,reuseaddr,fork TCP:localhost:22
) göndererek doğru seçeneği kullanarak bağlantı noktasını 22 (varsayılan ssh) istediğiniz bağlantı noktasına yönlendirin (aşağıdaki örnekte, 2222 )
İşiniz bitti ve mac os x sistem dosyalarınız değişmeden kaldı. Ayrıca, bu yöntem yalnızca Snow Leopard'da değil, Mac OS X'in tüm sürümlerinde ve ayrıca socat'ın çalışabileceği herhangi bir makinede çalışır.
Bir yönlendirici / güvenlik duvarı kullanıyorsanız yapmanız gereken en son şey yönlendiricinize / güvenlik duvarınıza doğru yönlendirme komutlarını eklemektir.
Ayrıca, ssh.plist yönteminin, hizmet yönteminin veya herhangi bir yöntemin diğerinden daha iyi, daha zarif veya daha kötü olup olmadığı tartışmalarına sıkışmaktan kaçınır.
Makinenizi her başlattığınızda socat yönlendirmesini yeniden oluşturmak için başlangıçta çalıştırılan bir komut dosyasını kolayca da hazırlayabilirsiniz. Bunu içine yerleştirin /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>
sudo launchctl load -w /Library/LaunchDaemons/com.serverfault.sshdredirect.plist
Yüklemek için kullanın . Gelecekteki yeniden başlatmaları otomatik olarak yükleyecektir.
Ek olarak, (i) güvenlik duvarınızı 22 numaralı bağlantı noktanızla bağlantılarını geridöngü (127.0.0.1) dışındaki herhangi bir arabirimden gelen bağlantıları engellemek ve sshd.conf dosyanızda benzer bir değişiklik yapmak üzere güvenlik duvarınızı ayarlayarak da artırabilirsiniz. ssh sadece geridönüşümde dinlesin.
Keyfini çıkarın.
/usr/libexec/sshd-keygen-wrapper
(aşağıdaki açıklamada gösterilmektedir), açıklığın kendisinde belirtilenden farklı bir SSH başlatabildiğini unutmayın . Eğer onu kedi, her zaman başlar/usr/sbin/sshd
.