diff options
Diffstat (limited to 'test/passt.mbuto')
-rwxr-xr-x | test/passt.mbuto | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/test/passt.mbuto b/test/passt.mbuto index 8b41674..d29f456 100755 --- a/test/passt.mbuto +++ b/test/passt.mbuto @@ -13,15 +13,15 @@ PROGS="${PROGS:-ash,dash,bash ip mount ls insmod mkdir ln cat chmod lsmod modprobe find grep mknod mv rm umount jq iperf3 dhclient hostname sed tr chown sipcalc cut md5sum socat dd strace ping tail killall sleep - sysctl nproc tcp_rr tcp_crr udp_rr which tee seq bc}" + sysctl nproc tcp_rr tcp_crr udp_rr which tee seq bc sshd ssh-keygen}" -KMODS="${KMODS:- virtio_net virtio_pci}" +KMODS="${KMODS:- virtio_net virtio_pci vmw_vsock_virtio_transport}" LINKS="${LINKS:- ash,dash,bash /init ash,dash,bash /bin/sh}" -DIRS="${DIRS} /tmp /sbin /var/log /var/run /var/lib" +DIRS="${DIRS} /tmp /sbin /usr/share /var/log /var/lib /etc/ssh /run/sshd /root/.ssh" FIXUP="${FIXUP}"' cat > /sbin/dhclient-script << EOF @@ -46,7 +46,33 @@ exit 0 EOF chmod 755 /sbin/dhclient-script ln -s /sbin /usr/sbin + ln -s /bin /usr/bin + ln -s /run /var/run :> /etc/fstab + + # sshd(dropbear) via vsock + cat > /etc/passwd << EOF +root:x:0:0:root:/root:/bin/sh +sshd:x:100:100:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin +EOF + cat > /etc/shadow << EOF +root:::0:99999:7::: +EOF + chmod 000 /etc/shadow + + :> /etc/ssh/sshd_config + ssh-keygen -A + chmod 700 /root/.ssh + chmod 700 /run/sshd + # Alternative location for the priv separation dir + ln -s /run/sshd /usr/share/empty.sshd + + cat > /root/.ssh/authorized_keys <<EOF +'"$(cat guest-key.pub)"' +EOF + chmod 600 /root/.ssh/authorized_keys + chmod 700 /root + socat VSOCK-LISTEN:22,fork EXEC:"sshd -i -e" 2> /var/log/vsock-ssh.log & sh +m ' |