Ciprian Dorin, Craciun wrote:
Hello all! Today I've played around with NBD (Network Block Disk), and qemu-nbd (a NBD client that exports QEMU disks as NBD's). My problem is the following: both NBD kernel module and qemu-nbd implementation expect to use a socket in order to communicate. This means that in order to securely tunnel the connection over SSH (OpenSSH), I need an intermediary process that creates a socket and forwards all input / output between this socket and stdin / stdout (which are in fact pipes received from OpenSSH). My question is: can I somehow make the pair of stdin / stdout seem as a socket to the Linux syscalls (read and write)? (I would have to make stdin / stdout pair look like a single file descriptor.) (This would eliminate the intermediate process that just pipes data, and thus reduce the overhead.)
Something like socat should to do the trick. For instance, if you have qemu-nbd on localhost:1025: ssh -l user hostname.com socat stdio tcp:localhost:1025 Alternative, you could just do ssh based port forwarding. For instance: ssh -l user -L 1025:localhost:1025 hostname.com And then connect locally with nbd-client Regards, Anthony Liguori -- To unsubscribe from this list: send the line "unsubscribe linux-newbie" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.linux-learn.org/faqs