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:
http://www.powershelladmin.com/wiki/SSH_from_PowerShell_using_the_SSH.NET_library