C# Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

C# Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
MIME
POP3
RSA
S/MIME
SMTP
Socket
Spider
SSH
SSH Tunnel
SSH Key
SFTP
Tar Archive
Upload
XML
XMP
Zip Compression


More Examples...
Amazon S3
NTLM
FileAccess
RSS
Atom
String
Byte Array
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

Make a Copy of a File on Remote SSH Server

Demonstrates how to make a copy of a file on a remote SSH server by running the "cp" command. This works if your server is Linux or Unix-based. For Windows-based servers, use the DOS "copy" command.

Download Chilkat .NET for 4.0 Framework

Download Chilkat .NET for 64-bit 4.0 Framework (x64)

Download Chilkat .NET for 2.0 / 3.5 Framework

Download Chilkat .NET for 64-bit 2.0 / 3.5 Framework (x64)

Download Chilkat .NET for 1.0 / 1.1 Framework

//  Important: It is helpful to send the contents of the
//  ssh.LastErrorText property when requesting support.

Chilkat.Ssh ssh = new Chilkat.Ssh();

//  Any string automatically begins a fully-functional 30-day trial.
bool success;
success = ssh.UnlockComponent("Anything for 30-day trial");
if (success != true) {
    MessageBox.Show(ssh.LastErrorText);
    return;
}

//  Connect to an SSH server:
string hostname;
int port;

//  Hostname may be an IP address or hostname:
hostname = "192.168.1.117";
port = 22;

success = ssh.Connect(hostname,port);
if (success != true) {
    MessageBox.Show(ssh.LastErrorText);
    return;
}

//  Wait a max of 5 seconds when reading responses..
ssh.IdleTimeoutMs = 5000;

//  Authenticate using login/password:
success = ssh.AuthenticatePw("myLogin","myPassword");
if (success != true) {
    MessageBox.Show(ssh.LastErrorText);
    return;
}

//  Open a session channel.  (It is possible to have multiple
//  session channels open simultaneously.)
int channelNum;
channelNum = ssh.OpenSessionChannel();
if (channelNum < 0) {
    MessageBox.Show(ssh.LastErrorText);
    return;
}

//  In this example, we'll copy wine.html to wine2.html
//  The "cp" command has no output (i.e. nothing is written to
//  the standard output) so we'll include an "echo FINISHED"
//  so we can programmatically retrieve the output and close
//  the channel.  Closing the channel immediately after sending
//  the command is not good because w/ some SSH servers
//  it introduces a race condition where the command may not
//  be executed if the server thinks the client has disconnected.
success = ssh.SendReqExec(channelNum,"cp wine.html wine2.html && echo FINISHED");
if (success != true) {
    MessageBox.Show(ssh.LastErrorText);
    return;
}

//  Read the channel until we receive the FINISHED string.
success = ssh.ChannelReceiveUntilMatch(channelNum,"FINISHED","ansi",true);
if (success != true) {
    MessageBox.Show(ssh.LastErrorText);
    return;
}

//  Close the channel:
success = ssh.ChannelSendClose(channelNum);
if (success != true) {
    MessageBox.Show(ssh.LastErrorText);
    return;
}

//  Let's pickup the accumulated output of the command:
//  (In this case, it will be the string "FINISHED")
string cmdOutput;
cmdOutput = ssh.GetReceivedText(channelNum,"ansi");
if (cmdOutput == null ) {
    MessageBox.Show(ssh.LastErrorText);
    return;
}

//  Display the remote shell's command output:
textBox1.Text += cmdOutput + "\r\n";

//  Disconnect
ssh.Disconnect();
 

© 2000-2012 Chilkat Software, Inc. All Rights Reserved.

Email Component · XML Parser