Kendime Not: Multipass VM'i Farklı PC'lerde Kullanma

Kendime Not: Multipass VM'i Farklı PC'lerde Kullanma
Photo by Gabriel Heinzer / Unsplash

Problem

Windows 11'de WSL kullanırken Multipass ile Ubuntu VM oluşturdum. Bu VM'i başka bir bilgisayara taşıdığımda nasıl bağlanacağım? Özellikle yönetici yetkisi olmayan, sadece Hyper-V'nin olduğu bir ortamda.

Çözüm: SSH Şifre Girişini Aktifleştirmek

Adım 1: VM'de Şifre Belirle

multipass shell ubuntu24
sudo passwd ubuntu
# Güçlü bir şifre belirle

Adım 2: Cloud-Init Ayarını Değiştir

Ubuntu Cloud Images varsayılan olarak SSH şifre girişini kapatır. Bunu açmamız gerekiyor:

# Ana SSH config'i zaten hazır, sadece cloud-init ayarını değiştir
echo "PasswordAuthentication yes" | sudo tee /etc/ssh/sshd_config.d/60-cloudimg-settings.conf

# Syntax kontrolü
sudo sshd -t

# SSH servisini yeniden başlat
sudo systemctl restart ssh

Adım 3: IP Adresini Kolayca Görmek için MOTD Script'i

Her giriş yaptığımda IP adresini görmek için:

# Script oluştur
sudo nano /etc/update-motd.d/99-show-ip

İçeriği:

#!/bin/bash
echo ""
echo "SSH: ssh ubuntu@$(hostname -I | awk '{print $1}')"
echo ""

Çalıştırılabilir yap:

sudo chmod +x /etc/update-motd.d/99-show-ip

Adım 4: Test

# Çıkış yap
exit

# Tekrar giriş yap
multipass shell ubuntu24
# Artık IP adresi otomatik gösteriliyor!

# Windows PowerShell'den SSH ile bağlan
ssh ubuntu@<ip_adresi>

VM'i Başka PC'ye Taşıma

Export (Kaynak PC)

# VM'i durdur
multipass stop ubuntu24

Hyper-V Manager'dan:

  1. VM'i bul (ubuntu24)
  2. Sağ tık → Export
  3. Klasör seç (örn: D:\VM-Export\)

Import (Hedef PC)

Hyper-V Manager'da:

  1. Action → Import Virtual Machine
  2. Export klasörünü seç
  3. Import'u tamamla

Bağlanma

Yöntem 1: Hyper-V Konsol

  • Hyper-V Manager → VM → Connect
  • ubuntu / şifre ile giriş
  • Ekranda SSH komutu görünür: SSH: ssh ubuntu@192.168.X.X

Yöntem 2: PowerShell ile IP Bulma

Get-VM "ubuntu24" | Select-Object -ExpandProperty NetworkAdapters | Select-Object IPAddresses

# Sonra SSH ile bağlan
ssh ubuntu@<bulunan_ip>

Önemli Notlar

  • Her farklı ağda VM farklı IP alacak (DHCP)
  • Evde: 192.168.8.x
  • İşte: 192.168.55.x
  • MOTD script'i sayesinde her giriş yaptığımda IP'yi göreceğim
  • Yönetici yetkisi olmasa bile Hyper-V konsolu ile her zaman erişebilirim

Bonus: Avahi (mDNS) ile Hostname Bağlantısı

Bazı ağlarda hostname ile bağlanmak için:

sudo apt update
sudo apt install avahi-daemon -y

Artık bazı ağlarda şöyle bağlanabilirsiniz:

ssh ubuntu@ubuntu24.local

Tarih: 26 Ocak 2026
Ortam: Windows 11, Multipass, Hyper-V, Ubuntu 24.04
Sorun: Cloud-init varsayılan olarak PasswordAuthentication'ı kapatıyor
Çözüm: /etc/ssh/sshd_config.d/60-cloudimg-settings.conf dosyasını düzenlemek

Read more