Yanıtlar:
Elbette; sadece SSH port yönlendirme / tünelleme kullanın. Aşağıdaki komutu kullanarak "proxy" makinesine ssh bağlantısı başlatın:
ssh -L$LOCALPORT:$REMOTEHOST:$SSHPORT $PROXYHOST
$PROXYHOST
: SSH erişimine sahip olduğunuz makine$REMOTEHOST
: $ PROXYHOST cihazının bağlanabileceği, ancak bağlanamadığınız makine. $PROXYHOST
Makineye başvurmak için kullanabileceğiniz bir ana bilgisayar adı veya IP kullanın$SSHPORT
: sshd'nin uzak ana bilgisayarda dinlediği bağlantı noktası; büyük olasılıkla 22$LOCALPORT
: yerel makinenizde giden bağlantı noktası SSH açılıyor ve yerel makinenizde bağlantı noktası 22'ye $REMOTEHOST
Tünelin çalışmasını sağlamak için bağlantıyı yukarıda bırakın. -N
Komuta da eklemek isteyebilirsiniz, böylece bu bağlantı uzak bir kabuk getirmez ve daha sonra yanlışlıkla kapatmazsınız.
Tünel oluşturulduktan sonra aşağıdakileri yapın:
ssh -p $LOCALPORT localhost
Bu, bağlantı noktasındaki yerel makinenize SSH bağlantı noktasına yönlendirilen bir SSH bağlantısı dener $REMOTEHOST
.
İstemcinizdeki yapılandırmayı güncellemek istiyorsanız, istemcinizi ağ geçidi kutunuzu proxy olarak kullanacak şekilde ayarlayabilirsiniz . Geçiş kutunuzda netcat kurulu olmalıdır ve en iyi sonuçları elde etmek için anahtar tabanlı kimlik doğrulama ayarlarına sahip olmak istersiniz.
Başka bir ana bilgisayardan bağlanmak için .ssh / config dosyamda kullandığım şey şu.
Host internal-ssh-host-proxy
ProxyCommand /usr/bin/ssh username@ssh-relay-host "/bin/netcat -w 1 internal-ssh-host 22"
Yukarıdakilerle , istemci makinenizden ssh internal-ssh-host-proxy komutunu çalıştırabilirsiniz .
Proxy SSH ana bilgisayarında OpenSSH istemcisi 5.4 veya üstü varsa, netcat'e ihtiyacınız yoktur ve bunun yerine yerleşik netcat modunu kullanabilirsiniz.
Host internal-ssh-host-proxy
ProxyCommand /usr/bin/ssh username@ssh-relay-host -W internal-ssh-host:22
Sunulan cevaplardan Zordache en iyi çözümdür. Bununla birlikte, gelecek nesiller için, yapılandırmanızı düzenlemeden geçici olarak bağlanmak istiyorsanız, -t
bayrağı doğrudan röle üzerinde ssh yürütme ile birlikte bir sahte terminal tahsis etmek için kullanın .
ssh -t relay.example.com ssh internal.example.com
OpenSSH kullanarak bağlantıları otomatik olarak iletebilirsiniz. Senin içinde ~/.ssh/authorized_keys
dosyanın, ikinci makineye SSH olabilir, hangi yürütülecek bir komut belirtebilirsiniz.
[ssh client] ----> [ssh relay server] ----> [ssh target server]
you modified authorized_keys target machine
Sonuç olarak iki istem istenir Password:
: biri aktarma sunucusu için diğeri hedef sunucu için. Sertifikaları kullanarak her zaman bu davranışı kaldırabilirsiniz.