ubuntu下SSH登錄qemu虛擬機

ubuntu下SSH登錄qemu虛擬機

宿主機需要用ssh登入訪問虛擬機,可以採取兩種方式 
一種是端口映射:把虛擬機的22端口映射到宿主機的其他還未使用的端口(ex:2223),方法就是在虛擬機啓動命令中添加參數-:redir tcp:2223::22 
這時宿主機通過ssh -p 2223 用戶名@127.0.0.1 就可以ssh登入訪問虛擬機了。
一種方式是建立網橋:
Ubuntu 的系統上,首先要安裝含有建立虛擬網絡設備 ( TAP interfaces ) 的工具 uml-utilities 和橋接工具 bridge-utils:
sudo apt-get install uml-utilitiessudo apt-get install bridge-utils

編輯 /etc/network/interfaces:(請先備份),建立一個名叫 “br0” 的橋: 
sudo vim /etc/network/interfaces 
添加如下內容
auto br0#iface br0 inet dhcp #一種IP配置方法爲通過DHCP配置iface br0 inet static #在這裏網橋我用的靜態IP,使用靜態的話,就需要把你宿主機的ip地址,當前網絡的網關等信息設置到這個網橋上address 192.168.1.100 #你宿主機的ip地址netmask 255.255.255.0network 192.168.1.0
broadcast 192.168.1.255gateway 192.168.1.1bridge_ports enp4s0 #宿主機的網卡接口
保持後重啓網絡服務,或者重啓宿主機。 
lhj@lhj-pc:~$ sudo /etc/init.d/networking restart

/etc/ 文件夾下新建一個qemu-ifup腳本,內容如下:
lhj@lhj-pc:/etc$ sudo touch qemu-ifup.sh
!/bin/bash#This is a qemu-ifup script for bridging. #You can use it when starting a KVM guest with bridge mode network. #set your bridge nameswitch=br0if [ -n "$1" ]; then #create a TAP interface; qemu will handle it automatically. #tunctl -u $(whoami) -t $1 #start up the TAP interface ip link set $1 up sleep 1 #add TAP interface to the bridge brctl addif ${switch} $1 exit 0else echo "Error: no interface specified" exit 1fi

並且需要使用root用戶執行chmod u+x 給以可執行權限。
4.3添加可執行權限
lhj@lhj-pc:/etc$ sudo chmod u+x qemu-ifup.sh
4.4然後在啓動命令中添加參數 -net nic -net tap,script=/etc/qemu-ifup 啓動虛擬機 這樣啓動的虛擬機就有一個和宿主機同一個網段的ip地址,直接訪問就可以了。 
[kelvin@kelvin tmp]$ qemu-system-x86_64 -m 4096 -enable-kvm ubuntu_14.04.img -net nic -net tap,script=/etc/qemu-ifup


登錄虛擬機操作;
lhj@lhj-pc:~$ ssh [email protected]




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章