Try that thru a double connection? ie, ssh-ing to a machine from an already open ssh session?
I'm amazed I get -1 for that post; scp is clunky as hell when you already have a shell in 'that' directory; and it'll only work if you have /direct/ access to the machine you are logged in, and that's rarely the case if you first connect to a front end machine.
I'm an embedded dev as well, and I use zmodem everyday. I have boards that have no network, just a serial port, and I can upload an executable, download the log from just the debug console.
It's interesting how tcp/ip is pretty much taken for granted. Of course you could run SLIP over that serial port ;)
Just the other day I was bitching about how it is easier to drive a printer than a relay from a present day computer, the answer I got back was 'can't you use an arduino?'...
Hehe you'd be /amazed/ how much smaller the kernel gets it you don't put in IPv4/6 -- and let me tell you, when you upload via uart, every little helps :-)
My fav method is to build a kernel with just busybox using my minifs [0], making sure I have kexec support in that kernel.
Once booted, I can upload a new kernel via zmodem, and kexec straight into the new kernel. Rince, repeat!
You can also use zmodem to upload new binaries to a system, even if it's an initramfs, without having to do a full rebuild/reboot. Quite handy.
> I'm amazed I get -1 for that post; scp is clunky as hell when you already have a shell in 'that' directory; and it'll only work if you have /direct/ access to the machine you are logged in, and that's rarely the case if you first connect to a front end machine.
I did not downvote you, but setting up a port forward (-L) or SOCKS proxy (-D) on the first machine is very easy and extremely flexible. I do it all the time.
You can also do some tricks in ssh_config to route through the first machine (this is non-obvious, I'll grant). I do "ssh <secondmachine.whatever.tld>.<hopmachine>", and then I transparently connect from my workstation to the secondmachine, through the hopmachine. This is also more secure as the hop machine is just a dumb transport for data.
> I'm an embedded dev as well, and I use zmodem everyday. I have boards that have no network, just a serial port, and I can upload an executable, download the log from just the debug console.
Absolutely, zmodem is still very useful for serial links, and they are very common in embedded devices.
I really doubt there's any reason to use zmodem over SSH other than convenience if you happen to know it better than the alternatives.
> I really doubt there's any reason to use zmodem over SSH other than convenience if you happen to know it better than the alternatives.
You might not have encountered it.
Here's the use case: the ssh session terminates at a bastion host running a restricted sshd that drops port forwards and punts the connection to an internal landing host which is not permitted to ssh out.
Using an in-band file transfer protocol is incredibly useful.
Then there's other tricks you could do like port forwarding, filesystem mounting over SSH (sshfs) etc. But if zmodem works for you then it's as good a solution as any of the above. I only give SSH examples as demonstration at just how scarily powerful a tool it can be.
That assumes ssh is present to begin with. Really in the embedded world (which was the context if I got it right) you can just about throw all those assumptions out of the window. You're roughly back in 1989 or so when it comes to the features available to you in the environment, unless you're going for the more powerful platforms (with associated physical footprint, power consumption and boot times).