ubuntu下SSH登录qemu虚拟机

来源:互联网 发布:百度大数据彩票预测 编辑:程序博客网 时间:2024/04/30 16:47
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地址,当前网络的网关等信息设置到这个网桥上address192.168.1.100 #你宿主机的ip地址netmask255.255.255.0network192.168.1.0
broadcast192.168.1.255gateway192.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 linkset$1 up sleep1#add TAP interface to the bridge brctl addif${switch}$1exit0elseecho"Error: no interface specified"exit1fi

并且需要使用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 lhj@192.168.1.112




0 0
原创粉丝点击