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.