SSH Client

Secure Shell Client Library (SSH.NET) allows to connect to and control remote computers via secure channel using simple scripting language.

Features:

  • Execution of SSH command using both synchronous and asynchronous methods
  • Return command execution exit status and other information
  • Provide SFTP functionality for both synchronous and asynchronous operations.
  • Provides SCP functionality.
  • Provide status report for upload and download sftp operations to allow accurate progress bar implementation
  • Remote, dynamic and local port forwarding
  • Shell/Terminal implementation.
  • Specify key file pass phrase
  • Use multiple key files to authenticate
  • Supports diffie-hellman-group-exchange-sha256, diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1 and diffie-hellman-group1-sha1 key exchange methods.
  • Supports 3des-cbc, aes128-cbc, aes192-cbc, aes256-cbc, aes128-ctr, aes192-ctr, aes256-ctr, blowfish-cbc, cast128-cbc, arcfour and twofish encryptions.
  • Supports hmac-md5, hmac-sha1, hmac-ripemd160, hmac-sha2-256, hmac-sha2-256-96, hmac-md5-96 and hmac-sha1-96 hashing algorithms.
  • Supports publickey, password and keyboard-interactive authentication methods
  • Supports RSA and DSA private key
  • Supports DES-EDE3-CBC, DES-EDE3-CFB, DES-CBC, AES-128-CBC, AES-192-CBC and AES-256-CBC algorithms for private key encryption.
  • Supports two-factor or higher authentication
  • Supports SOCKS4, SOCKS5 and HTTP Proxy

Examples:

To read help on registered with PowerShell functions, type:

>get-help *ssh*

To register a new SSH session to remote SSH-compatible host, type:

> New-SshSession [hostname] [username]

To invoke a SSH command ls on a target host having opened session, type:

> Invoke-Ssh Command [hostname] –Command 'ls'

Read more detailed information on SSH.NET & usage with PowerShell:

https://sshnet.codeplex.com/

http://www.powershelladmin.com/wiki/SSH_from_PowerShell_using_the_SSH.NET_library