Aracı sunucu üzerinden SSH tüneli - tek adımda nasıl bağlanır (anahtar çiftini kullanarak)?


9

Benim sorum temel olarak mevcut iki adımımı nasıl bir adım haline getireceğim.

Böyle bir aracı sunucu kullanarak iki bilgisayar arasında kurulmuş çalışan bir SSH tüneli var:

Kubuntu_laptop--->nat_fw--->Debian_Server<--nat_fw<--Kubuntu_desktop

Şu anda Kubuntu_laptop'tan Debian_Server'a ve sonra Debian_Server'dan Kubuntu_desktop'a SSH. Kubuntu_desktop (kabuk / bash) ile bağlantılı olmamla sonuçlanan bash içinde Kubuntu_laptop üzerinde yayınlanan bir SSH komutunu yapmak istiyorum.

Şimdi kullandığım komutlar aşağıdaki gibidir. Aşama 1:

me@kubuntu_laptop:~$ ssh -i ~/.ssh/id_rsa admin@debian_server  

Adım 2:

admin@debian_server:$ ssh -p 1234 -i /home/admin/.ssh/id_rsa admin@localhost 

Sonra SSH (kubuntu_laptop'tan) aracılığıyla kubuntu_desktop'a bağlandım.

Tüm SSH bağlantıları için RSA anahtarları gereklidir. Şifre girişi tamamen devre dışı bırakıldı. Ve bilgisayar kullanıcı hesaplarının iki bilgisayarda farklı olduğuna dikkat edin.

Bu bacak için bağlantı ile ilgili olarak:

Debian_Server<--nat_fw<--Kubuntu_desktop

İşte nasıl kurulur:

autossh -M 5234 -N -f -R 1234:localhost:22 user@mydebian.com -p 22

Dikkat Kubuntu_desktop aracıya kullanıcı@mydebian.com (admin @ debian_server değil) olarak bağlanır. Ancak Kubuntu_desktop'a bağlandığımda yönetici kullanıcı olarak bağlanıyorum.

Mevcut izleme bağlantı noktasını (5234) veya uzak (- R) bağlantı noktası numarasını (bu örnekte 1234) değiştiremiyorum. SSH güvenliğini şifre girişlerine izin verecek şekilde değiştiremiyorum. Yeni bir güvenlik duvarı bağlantı noktası açamıyorum. Kullanıcı hesaplarını değiştiremiyorum (dizüstü bilgisayar hariç).



@HaukeLaging - ilginç görünüyor ama anlamıyorum. "Nc" nedir? Ve hangi makinede ~ / .ssh / config düzenlenir? Temel olarak, bu soru / cevaptan daha fazla ayrıntıya ihtiyacım var. Teşekkürler.
MountainX

Bu soru (bildirim yapılmadan) Sunucu Hatası SE'ye çapraz olarak gönderilmiştir. Bu çok KÖTÜ bir form!
mdpc

her yerde downvotes için teşekkürler, ama iki farklı yere sormakta sorun nedir? Ayrıca ubuntuforums.org ya da başka bir yerde sormamı engelleyecek misiniz?
MountainX

@ HaukeLaging-Dizüstü bilgisayarımda ProxyCommand kullanıyorsanız ~ / .ssh / config, Kubuntu_Desktop'un Ana Bilgisayar Adı için ne girebilirim? Fqdn yok. Bu ters SSH'dir. Teşekkürler.
MountainX

Yanıtlar:


8

Netcat'in Debian sunucusuna yüklendiğinden emin olun ve ProxyCommandyerel SSH yapılandırmanızda kullanın ( ~/.ssh/config).

Host Kubuntu_desktop
  ProxyCommand ssh Debian_Server nc localhost 1234

Bütün adımlarımı tamlık için başka bir cevapta verdim, ama hepsi yardımın sayesinde oldu. Cevabınızı kabul ediyorum. Teşekkür ederim!!!
MountainX

6

@Ignacio Vazquez-Abrams sayesinde tüm adımlar:

Netcat'in Debian sunucusuna yüklendiğinden emin olun ve yerel SSH yapılandırmanızda (~ / .ssh / config) ProxyCommand kullanın.

Yapılandırmayı aşağıdaki gibi düzenledim:

me@kubuntu_laptop:~/.ssh$ nano config

İçeriği:

Host kubuntu_desktop
  ProxyCommand ssh debian_server_fqdn nc localhost 1234
  User admin
  PasswordAuthentication no
  IdentityFile ~/.ssh/my_id_rsa

Ardından bağlanın:

me@kubuntu_laptop:~$ ssh kubuntu_desktop

1 adımda SSH üzerinden kubuntu_desktop'a bağlandı! Mükemmel

Güncelleme:

Bu onu daha esnek hale getirir:

me@kubuntu_laptop:~/.ssh$ nano config

Yeni içerikler:

Host family_desktops
  ProxyCommand ssh debian_server_fqdn nc localhost %p
  User admin
  PasswordAuthentication no
  IdentityFile ~/.ssh/my_id_rsa

Sonra sadece Anne ile bağlantı kurun:

me@kubuntu_laptop:~$ ssh family_desktops -p 1234

Ve babaya bağlan:

me@kubuntu_laptop:~$ ssh family_desktops -p 5678

Tabii ki, Annem ve Babamın her birinin kendi -R portunun tanımlandığı (orijinal sorumdan) Adım 0'ı ayarlaması gerekir. Baba için örnek:

Adım 0 (Baba için):

autossh -M 6543 -N -f -R 5678:localhost:22 user@mydebian.com -p 22

İsteğe bağlı:

DAD=5678
ssh family_desktops -p $DAD

ProxyCommand ayrıca şu şekilde de yazılabilir: ProxyCommand ssh debian_server_fqdn -W localhost:%pDebian sunucusunda netcat'e gerek yoktur.
Kevin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.