首页 > 代码库 > QEMU MIPIS远程共享ubuntu主机的文件

QEMU MIPIS远程共享ubuntu主机的文件

尝试啦很多中办法,最终选择以在QEMU模拟器中ssh 远程登入的方式访问主机,并用sshfs 挂载 主机端的文件到模拟器中,实现模拟器访问主机端的代码。

SSH分客户端openssh-client和openssh-server
如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo 
apt-get install openssh-client),如果要使本机开放SSH服务就需要安装openssh-server
sudo apt-get install openssh-server

这里我们在ubuntu 主机端安装openssh-server, 在QEMU 模拟器端安装openshh-client.

然后在主机端确认sshserver是否启动了:
ps -e |grep ssh
如果看到sshd那说明ssh-server已经启动了。
如果没有则可以这样启动:sudo /etc/init.d/ssh start 或者 service ssh start
ssh-server配置文件位于/etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。
然后重启SSH服务:
sudo 
/etc/init.d/ssh stop
sudo /etc/init.d/ssh start
然后使用以下方式登陆SSH:
ssh username@192.168.1.112 username为192.168.1.112 机器上的用户,需要输入登入密码

但是我们在QEMU模拟器中不能用这个ip地址,而是改成10.0.2.2,也就是 ssh username@10.0.2.2, 然后输入密码

这个时候模拟器中的终端会提示“welcome to .....”表示登入成功,且可以访问到远程的所有目录。但是我们的模拟器只有一个窗口,只能访问主机端的内容,并不能拷贝主机端的内容,下面是如何在模拟器端拷贝主机端的内容,有两种方法

先执行exit 退出ssh登入。

1. scp username@10.0.2.2:/home/username/work/training/test/test2.cpp ./  拷贝主机端的test2.cpp到当前文件夹。还有第二种方法更方便

2. 在QEMU模拟器端"apt-get install sshfs" 安装ssfs, 这个就是用来mount 主机端的内容到作为本地的一个文件夹进行访问,然后执行:

   在当前目录先新建一个文件夹mnt作为mount的位置, mkdir mnt

   然后 sshfs username@10.0.2.2:/home/test/ ./mnt/

   输入密码成功后,主机端/home/test/目录就挂在QEMU模拟器中的./mnt/目录下面,可以直接当作本地文件进行访问。

   退出挂载执行:  fusermount -u ./mnt(这个是mnt的路径) ,则取消挂在,这个时候用ls -l 查看发现没有文件。

QEMU MIPIS远程共享ubuntu主机的文件