SSH'yi uzaktan Ubuntu VM'ye


10

Ağ veya Linux konusunda fazla deneyimim yok, ancak ev ağımın dışından bir Ubuntu sanal makinesine ssh yapmaya çalışıyorum. Ubuntu sanal makinesi (VirtualBox) bir Debian masaüstünde çalışıyor. Biraz araştırma yaptım ve port 22'yi yönlendiriciden sanal makineye iletmem gerektiğini buldum.

  • Sanal makinedeki ağ ayarını köprüye değiştirdim.
  • Bağlantı noktasını VM'ye yönlendiriyorum.
  • Bağlantı noktasını açık olarak göstermek için ( http://www.yougetsignal.com/ ) adresini kontrol ettim .

Ama bağlanmaya çalıştığımda hala çalışmıyor. ssh kullanıcı adı @ - bağlantı reddedildi

Gelen bağlantılara izin vermek için sanal makinenin içinde yapmam gereken bir şey var mı? Veya herhangi bir bağlantı noktasını iletmek?

Yanlış yaptığım bir şey var mı, herhangi bir yardım büyük mutluluk duyacağız !!


VM ana bilgisayarla nasıl ağa bağlanır? Bir NAT arkasındaysa (sanal kutuda varsayılan). Bu işe yaramaz, ancak bağlantı noktalarını doğru yönlendirdiğiniz takdirde köprülü bir bağlantı çalışması gerekir.
Matt Mootz

Ssh username @ router-ip-address kullanıyorsunuz değil mi?
cprofitt

1
evet kullanıcı adı @ public-ip-address doğru mu?
user1354275

Kutudan çıktığı gibi Ubuntu , SSH sunucusu çalıştıran başka bir bilgisayara bağlanmanızı sağlayan OpenSSH istemcisini içerir . 'To' Ubuntu'ya bağlanmak için hedef makineye OpenSSH sunucusu ( sudo apt-get install openssh-server ) yüklemeniz gerekir .
david6

Yanıtlar:


15

Varsayılan olarak VirtualBox "NAT" modunda çalışır, yani bir "sanal" ağ oluşturur ve VM'den ağ erişimini çevirir, böylece dış dünyaya gerçek bilgisayarınızdan gelmiş gibi görünürler.

VirtualBox, VM'nin bir ağa bağlı olduğunu düşünmesini sağlar, ancak gerçekte VirtualBox mini DHCP sunucusu da dahil olmak üzere ağ hizmetleri sunmaktadır. Daha sonra, VirtualBox, VM'nin "adına" ağ erişimini gerçekleştirir ve PC'nizde çalışan başka bir uygulama olarak görünür.

Ancak bu, dış dünyanın sanal makineyi gerçekten bilmediği ve doğrudan erişemediği anlamına gelir.

Yaptığınız bağlantı noktası yönlendirmesinin VM'ye değil, ev yönlendiricinizden PC'nize olduğunu düşünüyorum. VirtualBox tarafında bazı yapılandırmalar eksik olabilir. Bunu zaten yaptıysanız özür dileriz, ancak sorunuz bu konuda net değildi.

Temel olarak VM'nin ağ yapılandırmasını değiştirmeniz ve "Köprülü" olarak ayarlamanız gerekir. Bunun yaptığı şey, bilgisayarınızda sanal bir arayüz oluşturur ve VM'nin dış dünyaya erişmek için bunu kullanmasını sağlar; bu arayüze giren veya bu arayüze giden her şey VM'ye aktarılır. Böylece, VM, PC'nizin bağlı olduğu ağda başka bir makine olarak görülebilir (hatta kendi MAC adresi bile vardır!).

Ardından, ağınızın yapılandırmasına bağlı olarak, VM yönlendiricinize bağlı diğer PC'ler gibi bir DHCP adresi alabilir veya bunun için statik bir IP adresi yapılandırmanız gerekebilir. Bu, ağınızın kurulumuna bağlıdır.

VM bir "gerçek" adrese sahip olduğunda, yönlendiricinizde, port 22'yi VM'nin IP adresine yönlendirirken bulduğunuz talimatları takip edebilirsiniz. Bu beklediğiniz gibi çalışmalıdır.

Yoksa:

  • VM'nizin güvenlik duvarı yapılandırmasına bakın (iptables -L -n). Bir şey engelliyor mu?
  • Yerel ağınızda başka bir bilgisayar kurun ve VM'nin IP adresine SSH göndermeyi deneyin. Yapabiliyorsanız, yönlendiricinizdeki yönlendirme yapılandırmasını iki kez kontrol etmeniz gerekir. Yapamıyorsanız, VM'nin SSH ve güvenlik duvarı yapılandırmasını tekrar kontrol etmeniz gerekir.

Merhaba roadmr, ağ ayarını köprüye değiştirdim ve kendi ipine sahip olduğundan ve yönlendiriciyi bulabildiğinden bağlantı noktasını VM'ye iletiyorum. Ben isp tarafından statik bir ip var. Ancak hala çalışmıyor
user1354275

1

toplayabildiğim kadarıyla, probleminiz sunucu bilgisayar ağınızda yatmaktadır, çünkü vm ağını köprü moduna kurduktan sonra, gitmek iyidir ( ssh <your.vm.ip.number>sunucu komut satırınızda kontrol edin - vm'de değil).

sunucunuz tıpkı makinenizde NAT kullanan bir vm gibi bir yönlendiricinin arkasındadır.

Vm'nizin yerel ip adresini bir bağlantı noktasına / bağlantı noktası aralığına iletebilmesi için sunucu ağ yöneticinize başvurmanız gerekir (vm'nizin statik bir ip adresine sahip olduğundan emin olun).

Sunucu ağ geçidinizde bunu yapma yetkiniz varsa kendiniz yapabilirsiniz.

biraz görselleştirme:

Internet
     '---ROUTER (SERVER1 and SERVER2 use NAT on this router)
            |   (vm1, vm2, vm3, vm4, vm5 need to be forwarded on this router)
            | 
            '--- SERVER1 (vm1, vm2, vm3 use Bridge)
            |       '---vm1
            |       '---vm2
            |       '---vm3
            '--- SERVER1 (vm4, vm5 use Bridge)
            |       '---vm4
            |       '---vm5
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.