- 查看端口占用
netstat -ntlp
- 从test-vm到uswap-vm
ssh root@10.206.133.97 -p 2222
- uswap run sh
qemu-system-x86_64 -enable-kvm
-name uswap,debug-threads=on
-cpu host
-smp 8
-m 16G
-kernel /home/shiyue/USWAP/uswap-dev/build/linux-install/vmlinuz-5.14.0+
-drive file=/home/shiyue/USWAP/uswap-dev/build/br2-uswap-vm/images/rootfs.ext2,if=virtio,format=raw
-append "console=ttyS0 nokaslr initcall_debug root=/dev/vda uswapd_cfg=uswap.ini"
-device virtio-net-pci,netdev=hostnet0,id=net0,bus=pci.0,addr=0x3
-netdev user,id=hostnet0,hostfwd=tcp::2233-:2233,hostfwd=tcp::2222-:22
-nographic
-fsdev local,id=sharedfs0,path=/home/shiyue/USWAP/uswap-dev/build/br2-uswap-vm-rfs-overlay/usr,security_model=none
-device virtio-9p-pci,fsdev=sharedfs0,mount_tag=sharedfs0
-fsdev local,id=sharedfs1,path=/home/shiyue/USWAP/uswap-dev/build/br2-test-vm/images,security_model=none
-device virtio-9p-pci,fsdev=sharedfs1,mount_tag=sharedfs1
从host ssh到test-vm
* the uswap vm already has a forwarding for 2233 -> 2233
* in the test-vm script, these are my net parameters -net nic,model=virtio -net user,hostfwd=tcp::2233-:22
* in the test-vm, edit /etc/ssh/sshd_config and set "PermitRootLogin yes", then restart sshd: /etc/init.d/S50sshd restart
* set a password for root (i think we can't ssh without a PW, so type `passwd` and set a password)
* from the host: ssh root@localhost -p 2233 -o StrictHostKeyChecking=no
- BENCHMARK STEPS
1.run uswap-vm
cd ~/USWAP/uswap-dev && ./scripts/run-uswap.sh
2. in uswap-vm run test-vm and entering "root"(可以使用ssh)
test-vm start
3. configure sshd and set passwd
echo PermitRootLogin yes >> /etc/ssh/sshd_config
/etc/init.d/S50sshd restart
设置密码为123
passwd
# mount a filesystem
如果您想在重启后保留更改,则需要在rootfs.ext2中更新sshd_config
文件。在修改sshd_config
文件之前,您需要将虚拟机中的rootfs.ext2
文件挂载到主机文件系统中。
以下是在Linux系统上如何完成此操作的简要说明:
-
创建一个空目录,例如
/mnt/rootfs
。 -
挂载
rootfs.ext2
文件到该目录:bashCopy code
sudo mount -o loop ~/path/to/rootfs.ext2 /mnt/rootfs
其中
~/path/to/rootfs.ext2
是rootfs.ext2
文件在主机中的路径。 -
进入挂载的文件系统并更新
sshd_config
文件。例如,如果您想启用root登录,则可以执行以下操作:bashCopy code
sudo chroot /mnt/rootfs echo "PermitRootLogin yes" >> /etc/ssh/sshd_config /etc/init.d/S50sshd restart exit
这将在 chroot 环境中执行
sshd
服务的重新启动,并在sshd_config
文件中添加一行以启用 root 登录。 -
卸载文件系统:
bashCopy code
sudo umount /mnt/rootfs
完成以上步骤后,您应该能够重启虚拟机并保留对 sshd_config
文件所做的更改。