使用 ssh 登录 qemu 启动的 VM

在实验 https://github.com/int0x03/kernel-utils 的过程中, 我们最后通过 qemu 启动 img 文件, 然后通过我们预设的用户名/密码进入 shell. 但是这个shell 和启动VM 用的同一个tty, 所以系统的一些message 会源源不断的输出到这个tty, 如果你要在这个shell 改些东西, 会非常尴尬.

如何启动另外一个tty?

要启动另外一个tty, 我们可以通过 ssh 登录这个VM, 就需要安装 openssh-server, 所以我们更改 config/env.sh 在需要安装到软件那行, 加入 openssh-server.

改后:

packages_to_install="systemd-resolved bpftrace bpfcc-tools gdb iptables openssh-server"

另外需要本地端口做转换, 所以需要更改 qemu 的启动参数, 在 boot 文件改动如下:

netdev_args="user,id=network0,net=192.168.0.0/24 -device e1000,netdev=network0 -net nic -net user,hostfwd=tcp::2222-:22"

sshd server 默认是不让以 root 用户登录的, 所以要更改 /etc/ssh/sshd_config 运行root 访问:

PermitRootLogin yes

然后重启 sshd server

systemctl restart ssh

如何登录

在宿主机 ssh -p 2222 root@localhost

标签: none

添加新评论