[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: how to create scp server
[Thread Prev] | [Thread Next]
- Subject: Re: how to create scp server
- From: Игорь Коваленко <igor.a.kovalenko@xxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Wed, 8 Jul 2015 20:16:59 +0300
- To: libssh@xxxxxxxxxx
I need a simple functionality of scp.
I've got some progress with a file reading on server.
I've opened a channel and then I've done this:
...
std::vector<std::string> execParams;
do
{
message = ssh_message_get(session);
if (ssh_message_type(message) == SSH_REQUEST_CHANNEL &&
ssh_message_subtype(message) == SSH_CHANNEL_REQUEST_EXEC)
{
std::string command(message->channel_request.command);
execParams = string_split(command, " ");
if (!execParams.empty() && execParams[0] == "scp")
{
ssh_message_channel_request_reply_success(message);
ssh_message_free(message);
scpSession = true;
break;
}
}
} while (!scpSession);
if (scpSession)
{
if (execParams[1] == "-t")
{
// this is "write" of a client
scpMode = SSH_SCP_READ;
ssh_channel_write(chan, "", 1);
}
else if (execParams[1] == "-f")
{
// this "read" of a client
scpMode = SSH_SCP_WRITE;
}
scp = ssh_scp_new(session, scpMode, "D:/test/scp");
//using already oned channel
scp->channel = chan;
if (scp->mode == SSH_SCP_WRITE)
scp->state = SSH_SCP_WRITE_INITED;
else
scp->state = SSH_SCP_READ_INITED;
bool exit = false;
char buffer[16384];
do {
int r = ssh_scp_pull_request(scp);
...
}
}
It's working only for client write operations and need improving but am I
moving in right direction?
Also is there any example of how to create sftp server?
2015-07-08 18:56 GMT+03:00 Andreas Schneider <asn@xxxxxxxxxxxxxx>:
> On Wednesday 08 July 2015 16:05:11 Игорь Коваленко wrote:
> > Hello!
> >
> > I need to create ssh server with scp functionality but I can't find any
> > examples. How should I handle scp request and initialize new scp session?
>
> Why don't you use sftp?
>
> --
> Andreas Schneider GPG-ID: CC014E3D
> www.cryptomilk.org asn@xxxxxxxxxxxxxx
>
>
>
| how to create scp server | Игорь Коваленко <igor.a.kovalenko@xxxxxxxxx> |
| Re: how to create scp server | Andreas Schneider <asn@xxxxxxxxxxxxxx> |