laher / scp-go

scp clone for go. Initially just password-based auth, then adding 'keys'. Would also be good to add known_hosts support
Apache License 2.0
22 stars 6 forks source link

Why call session.Run("/usr/bin/scp"...)? #1

Open meling opened 10 years ago

meling commented 10 years ago

What exactly does this scp package give me, when you still need to call out to the /usr/bin/scp ?? I mean, why not just do exec.Command() ?

If you could get rid of the /usr/bin/scp and make it cross platform, I would be happy, but if you rely on the existence of scp on your system, I don't see the point of this package? What am I missing?

laher commented 10 years ago

Hi Hein, I think what you're missing is that it's a remote call to scp on the other machine, which gets started in 'sink mode'. Basically, an scp client connects to an ssh server and tells it to start up an scp process on the server side. The 2 scp processes have a quick discussion over the ssh channel, then send/receive data in the 'scp protocol'. So, you don't need scp installed on your local machine. This blog post gives a great explanation of scp: https://blogs.oracle.com/janp/entry/how_the_scp_protocol_works

I don't have any plans to support 'sink mode' (i.e. the remote process), although I would if an appropriate, pure-Go, SSH server were available. That would be great for Windows servers.

Cheers

On Wed, Jul 16, 2014 at 10:11 AM, Hein Meling notifications@github.com wrote:

What exactly does this scp package give me, when you still need to call out to the /usr/bin/scp ?? I mean, why not just do exec.Command() ?

If you could get rid of the /usr/bin/scp and make it cross platform, I would be happy, but if you rely on the existence of scp on your system, I don't see the point of this package? What am I missing?

— Reply to this email directly or view it on GitHub https://github.com/laher/scp-go/issues/1.

meling commented 10 years ago

Thanks for the clarification, and sorry for my ignorance.

laher commented 10 years ago

No worries, I was also surprised when I realised how it works.

On Wed, Jul 16, 2014 at 3:52 PM, Hein Meling notifications@github.com wrote:

Thanks for the clarification, and sorry for my ignorance.

— Reply to this email directly or view it on GitHub https://github.com/laher/scp-go/issues/1#issuecomment-49121006.