Evet, ProxyCommand
SSH yapılandırmanızda.
Ana dizininizde bir SSH yapılandırma dosyası oluşturun (bunu sistem genelinde yapmak istemiyorsanız) ~/.ssh/config
:
Host unibroker # Machine B definition (the broker)
Hostname 12.34.45.56 # Change this IP address to the address of the broker
User myusername # Change this default user accordingly
# (`user@unibroker` can overwrite it)
Host internalmachine # Machine A definition (the target host)
ProxyCommand ssh -q unibroker nc -q0 hostname.or.IP.address.internal.machine 22
Artık doğrudan A Makinesine doğrudan erişebilirsiniz
ssh user@internalmachine
Ayrıca, artık bunun için tek bir SSH ana bilgisayar hedef adınız olduğunu unutmayın, bunu diğer uygulamalarda da kullanabilirsiniz. Örneğin:
SCP dosyaları kopyalamak için.
scp somefile user@internalmachine:~/
GUI uygulamalarınızda:
sftp://user@internalmachine/
makineye göz atmak için konum olarak kullanın .
KDE tabanlı (Dolphin): kullanım fish://user@internalmachine/
notlar
Değişim hostname.or.IP.address.internal.machine
ve port ( 22
Ulaşmak istediğiniz makineye) Eğer adım atmayacağını belirtti sanki unibroker
makinenin.
Unibroker ana bilgisayarındaki netcat sürümlerine bağlı olarak, -q0
seçenek atlanmalıdır. Kimlik doğrulama ile ilgili olarak; temelde iş istasyonunuzdan iki SSH bağlantısı kuruyorsunuz. Bu, hem unroBker hem de dahili makine ana bilgisayarının birbiri ardına doğrulandığı / kimliğinin doğrulandığı (hem keypair / parola hem de ana bilgisayar anahtarı doğrulaması için) anlamına gelir.
açıklama
Bu ProxyCommand
ve 'netcat' kullanımı yaklaşımı bunu yapmanın sadece bir yoludur. Bunu sevdim, çünkü SSH müşterim doğrudan hedef makineyle konuşuyor, böylece ana bilgisayar anahtarını müşterimden doğrulayabiliyorum ve ortak anahtar kimlik doğrulamamı aracıda başka bir anahtar kullanmadan da kullanabiliyorum.
Her biri Host
yeni bir ana bilgisayar bölümünün başlangıcını tanımlar. Hostname
bu ana bilgisayarın hedef ana bilgisayar adı veya IP adresidir. User
Kullanıcı kısmı olarak sağlayacağınız şeydir ssh user@hostname
.
ProxyCommand
Hedef makineye boru olarak kullanılacaktır. İlk makineye SSH kullanarak ve doğrudan nc
oradan hedefe basit bir 'netcat' ( ) kurarak , bu temelde aracılardan iç makineye sadece bir düz metindir. -q
Seçenekler herhangi bir çıktı (sadece kişisel bir tercih) susturmak için vardır.
Aracıya netcat yüklediğinizden emin olun (genellikle varsayılan olarak Ubuntu'da bulunur) - netcat-openbsd veya netcat-traditional .
Burada hala iki kez şifrelemeli SSH kullandığınızı unutmayın. Netcat kanalı düz metin iken, PC'nizdeki SSH istemcisi, son hedef makineyle şifrelenmiş başka bir kanal daha kurar.