Console Remote Access Clients > Console SSH Client >

 

Console SSH Client

 

 

ssh.exe

This client was designed to work especially with Pragma Fortress SSH Server. However, the Console SSH Client will work great with any ssh server than follows the RFC standards.

Usage

ssh [ hostname | /I ] [options]

Either the servername should be entered on the command line, or the /I (capital "i") switch should be used to prompt the user for servername. All command line switches are case sensitive.

-l user

Log in using this user name, interactive user used by default

-a

Disable authentication agent forwarding

-x

Disable X11 connection forwarding

-i

Identity for RSA authentication (default: ~/.ssh/identity).

-I

Interactive mode

-t

Tty; allocate a tty even if command is given.

-T

 

-v

Verbose; display verbose debugging messages.

-V

Display version number only.

-q

Quiet; don't display any warning messages.

-f

Fork into background after authentication

-e char

Set escape character; 'none' = disable (default: ~).

-c cipher

Choose the encryption algorithm
in SSH1: none, des, 3des, blowfish
in SSH2: none, 3des-cbc, blowfish-cbc, arcfour, cast128-cbc,  aes128-cbc, aes192-cbc, aes256-cbc

-m macs

Specify MAC algorithms for protocol version 2
hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-ripemd160

-p port

Connect to this port. Server must be on the same port.

-P

Don't use privileged source port

-L listen-port:host:port

Forward local port to remote address

-R listen-port:host:port

Forward remote port to local address

 

These cause ssh to listen for connections on a port, and forward them to the other side by connecting to host:port.

-C

Enable compression.

-g

Allow remote hosts to connect to local port forwarding

-o 'option'

Options that should be passed to the ssh client. Options that are allowed are defined in the config file of the ssh client. See SSH Configuration File for more info.

Special note that there should not be any space between the o and the option.

The o option can be used as often as necessary to pass all the desired ssh options.

-1

Force the SSH1 Protocol

-2

Force the SSH2 Protocol

-s

Invoke command (mandatory) as SSH2 subsystem

-A password

Use this password to login.

-B

Specifies the forcing of a password change to the provided new password

-r printer

Capture printer for client-side printing

-K

Use gssapi-with-mic Kerberos Authentication

-k

Use gssapi (without mic) Kerberos Authentication

-N

Use gssapi-with-mic Windows NTLM Authentication

-n

Use gssapi (without mic) Windows NTLM Authentication

-W

Use Pragma Legacy Windows NTLM Authentication

-F filename

Start session running client script file

-4                

restrict to IPV4 addresses

-6

restrict to IPV6 addresses

-y

Force a password change

-oCertHash=CertHashValue

Certificate thumbprint of a certificate in Windows Store for Authentication. This is a special options flag, not configurable in the configuration file.

These arguments can be changed from their default values, using the configuration file, config, and the ssh.ini file.

Key Features

Supports both SSH1 and SSH2 protocols

Uses proven RSA\DSA public key cryptography

Encryption ciphers supported: none, 3des, blowfish, 3des-cbc, blowfish-cbc, aes128-cbc, aes192-cbc, aes256-cbc, aes128-ctr, aes192-ctr, aes256-ctr

Data Compression at nine selectable levels

Multiple authentication methods

Any authentication standard of ssh is supported including password authentication

Local and remote port forwarding

TCP/IP port forwarding is supported allowing other insecure protocols like SMTP, POP, TELNET etc to run over a secure ssh session

Full keyboard and mouse support over ssh

International keyboard support over ssh. See Console SSH Client Mouse Support for information on how to set this up.

Printing support through a ssh session 

See Printing Options for more information.

Console Application

Pragma Console SSH Client can be used within a ssh session, allowing the user to have nested ssh sessions. 

ANSI, VT100 and extended keys of VT420 emulation

Supports VT and ANSI emulations. When connected to Pragma Fortress SSH Server, a proprietary emulation can be used, which provides a full key event to the server, allowing key modifiers to be passed to the server. See Console SSH Client Mouse Support for information on how to set this up.

Full ANSI Color

User defined ALT key mapping

Using the ssh.ini file, a user can map the ALT key to any key. The keywords ESC or CTRL can be added to another key to send a key combination. For example, ALT=CTRL-A will send the default key sequence for the Pragma Fortress SSH Server. See more on ssh.ini.

Automated ssh sessions using scripts

The scripting will start after the client has been authenticated by the server. The client will read the file given on the command line and redirect it to the telnet server. The script file follows a wait/send syntax, meaning that the script will define a phrase to look for and when found will respond with the designated response.

Designate a phrase to wait for with a WF: as the first 3 characters of the line.

To add comments, use a # as the first character of the line Empty lines are allowed.

Any line that has characters, and does not start with either the WF: or # will be sent to the server.

Special characters can be entered with the following:

\n - line feed
\r - carriage return
\t - tab
To send an empty line to the server enter the value \r\n.

 

Here is an example of a file for input:

 #wait for command prompt
WF: >

#send command to run server side script
runscript

#wait for command prompt to return
WF: >

#exit
exit

Log ssh session output to a file

Log all output received by the server to a text file. This will include emulation sequences.

Terminal window resize during session

Terminal window can be resized dynamically by changing the size properties of the console window. Any fonts supported by the console can be chosen.

Certificate Support

The "certhash" option uses the default fingerprint of a certificate stored on the client machine.

For Client Authentication certificate

1.Generate a user certificate using your chosen certificate authority

2.Install the user certificate on the client computers under the Users->Personal store

a.Launch the Microsoft Management Console (MMC),either from the command prompt or the Run option in the Start Menu.

b.From File menu, select Add/Remove Span-in

c.Click on the Add button and then select "Certificates" from the Add Standalone snap-ins dialog

d.Select "My user account" for account option and click Next.

e.Choose Local Computer and click Finish

.

f.Click OK to close the snap-in dialog.

g.Once the Certificates snap-in has been added, expand the tree and select the Personal folder. Expand the Personal folder and select Certificates.

3.Copy the thumbprint from the certificate details to use for the certhash parameter. On the right pane of the dialog, double click on the listed certificate (under "issued to" column) which will open up a tabbed dialog. Click on the Details tab and scroll down to locate the certificate thumbprint. Remove all the spaces from the thumbprint before adding to the parameter.

If the certificate is obtained through a certificate service, the Certification Authority certificate should be placed in the "Trusted Root Certificate Authorities" container.


This won't be necessary if the certificate is obtained from an established certificate authority such as Verisign or Thawte, or if the certificate is obtained from the Windows domain certificate service (the CA certificates will already be loaded). CA certificates also aren't necessary if the certificate is self-signed from a tool like makecert.

Certificates can be obtained from a service, loaded from a certificate server on the domain, or self-signed.

Verisign, www.verisign.com, is one of many certificate services available to get a certificate.

Windows server installation disks contain the option to install a certificate server. The process is different for different versions of windows server. Please see the server installation documentation for specific instructions. If a domain certificate server is installed, machines will automatically be loaded with the appropriate CA and host certificates. Also, certificates can be requested by using the Certificates mmc snap-in context menus or via the certificate service's web interface.

For self signed certificates, you can use one of the Microsoft's tools to create a certificate. For SSL, the intended purpose needs to include "Server Authentication". Different tools will activate this property in different ways. For makecert, the parameter "-eku 1.3.6.1.5.5.7.3.1" needs to be included (the numbered string is the numerical representation for the "Server Authentication" purpose.

An example key generation is:

makecert -r -pe -n CN="machine_name" -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12

Here is a writeup from the web: http://tcle.wordpress.com/2008/05/20/creating-a-self-signed-ssl-certificate-without-a-mess-of-makecertexe-using-ssl-diagnostics-tool/
 

 

 

Copyright © 2023 Pragma Systems Inc