SSH ile Yerel SOCKS Proxy Oluşturmak
127.0.0.1 üzerinde OpenSSH dinamik yönlendirmesi kullanın, süreç oturum boyunca açık kalsın ve çalışan dinleyiciyle erişilebilir hedefi ayırın.
Sunucuya yetkili SSH erişimiyle OpenSSH bilgisayarınızda SOCKS dinleyicisi oluşturabilir. SSH bağlantısı yönlendirilen trafiği taşır, uzak sunucu hedef bağlantısını kurar.
Yalnızca loopback dinleyicisi
ssh -N -T -o ControlPath=none -o ForkAfterAuthentication=no -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 [email protected]
Hesabı ve host adını değiştirin. SSH sunucusu yönlendirmeye izin vermelidir; yönetici yönlendirmeyi ve hedefleri hesap girişinden bağımsız sınırlayabilir.
-D dinamik yönlendirme oluşturur; açık loopback adresi dinleyiciyi bu makineyle sınırlar. -N uzak komutu, -T sözde terminali atlar. ControlPath=none mevcut paylaşım master’ını kullanmayı önler, ForkAfterAuthentication=no bu çağrıyı ön planda tutar.
Proxy kullanırken süreç çalışsın. Port 1080 doluysa başka boş yüksek port seçip istemciyi güncelleyin. ExitOnForwardFailure=yes dinleyici oluşturulamazsa SSH’nin çıkmasını sağlar.
SOCKS uç noktasını kullanmak
curl --proxy socks5h://127.0.0.1:1080 --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/
Bu istek hedef adı işlemesini SOCKS5 üzerinden devreder. Diğer uygulamalara kendi SOCKS ayarları gerekir; HTTP proxy alanı bu dinleyiciyle SOCKS konuşamaz.
Portun sahibi olan süreci kontrol etmek için:
ss -ltnp 'sport = :1080'
Amaçlanan SSH süreci bir loopback dinleyicisine sahip olmalıdır. Üzerinden istek göndermek uzak sunucunun da hedefe erişip erişemediğini sınar. Gözlenen çıkışı incelemeniz gerektiğinde kontrolünüzdeki bir hedefi kullanın.
Oturum ömrü
Ctrl-C SSH sürecini, dinleyiciyi ve yönlendirilen bağlantıları kapatır. SSH bağlantısının kopması da proxyyi kullanılamaz yapar.
ExitOnForwardFailure kurulum aşamasını kontrol eder. Sonraki her hedef bağlantısı hatasında SSH’yi sonlandırmaz; bu yüzden oturumu, yerel portu ve hedef isteğini ayrı teşhis edin.