For starters, the image below shows IVT after startup, showing
its minimum "Create session" dialog.
Just type a host, and optional user name and hit ENTER to login.
Notice the tabs bar showing just an empty tab (no session created yet).
Also notice the "Profile" button, which allows
you to select a particular setup (colors, window size, etc) with
a single click.
Some more advanced options: the image below shows IVT after
startup, showing its maximum "Create session" dialog box. A
hostname can be typed followed by an ENTER (or click OK), and IVT
will do some (script programmable) operations on the hostname (in
this case, it will prepend a numeric subnet-address to a numeric
hostname, so if I type a hostname like "41", it will connect me
to "10.8.60.41" because there is no DNS and decent names in this
particular environment).
The message in the dialog (Current subnet...) is also set by this
script.
New in version 23.0 is auto-complete of the host name.
IVT will log me in automatically under the default account for
the host (Automatic login checkbox). Optionally, I can type
another user name in the "User name" textbox and IVT will log me
in as that user when it knows the password, or automatically
switch to password learning mode when it does not know that
particular password yet (see below).
Entering a repeat-factor will clone that many sessions. Click on
the button just after the hostname to display a picklist of the
last 10 hostnames and usernames you have typed, and/or a
customizable list of hosts and descriptions (using the
HOSTLIST
command, see below).
Any comment entered will appear in the status line. When not specified,
it defaults to USER@HOST.
Note the vertical scroll bar and the
adjustable gap (2 pixels)
between the border of the window and the displayed text.

IVT supports UTF-8 and is a full Unicode application.
This means it can display all existing Unicode characters (something
a VT220 was never designed to do :-)
The shot below begins with some Cyrillic characters, followed by some special Hiragana
double-wide characters, which take op the space of 2 normal characters.
IVT also supports IME (International Method Editor). In the shot below, the
keyboard was set to Chinese (PRC) and I typed an 'a'.
An IME window appears that allows me to choose a Chinese character.
Clicking on the HOSTLIST button after the hostname will show a
box like this:

By clicking on the "Fixed only" button, it will suppress the last
10 manually connected hosts, and show only the fixed part.
The source for the "fixed" part (in the IVT.RC configuration
files) looks like this:
HOSTLIST "rohan" "root" "Primary Kerberos server"
Profile=RootProfile
HOSTLIST "rohan" "" "Primary SSH server" SSH
HOSTLIST "rohan:25" "" "Test Kerberos server" TLN
HOSTLIST "shitec" "" "Old Linux 150 Mhz Pentium I"
HOSTLIST "apkdcu1.pc.belastingdienst.nl" "root" "KDC Tax office"
Profile=RootProfile TLN
HOSTLIST COMMENT "=== Other things"
HOSTLIST "compaq" "" "Ancient MS/DOS test machine"
HOSTLIST "COM3" "" "Serial session" SERIAL
I.e. you can specify a host name, user name, comment and protocol
for every type of connection, plus comment lines to create
logical groups of hosts.
The "Profile" selects a particular configuration for the session,
in this case I use a different color scheme for "root" sessions
to make sure I do not forget that I need to be extra careful.
The (-) icon appears automatically and can be used to collapse a
group of hosts. The "Expand all" and "Collapse all" buttons
can be used to quickly get an overview of all logical groups of hosts.
You can select multiple entries here, click "Connect" and be connected
instantly to all selected hosts!
See also the session groups below, for an even easier
way to create whole groups of sessions with just a few mouse
clicks.
If you have very many hosts, the "Filter" box will accept part of a host name
and instantly adjust the list to hosts matching the characters you type.
The picture belows
shows what happens when I try to connect to a host for which I no
longer have the correct password stored in the IVT password
learning system. The script recognizes the fact that the password
no longer works, and switches into learn-mode.
When I log in manually, the new user-id and password will be
stored in an (encrypted) database maintained by IVT, and the next
time IVT will log me in automatically. From the "setup" menu I
can add, change and delete such accounts.
F7 will skip the password learning for this single
session;
F8 will skip all password learning for the current host
(current and future sessions);
F9 will disable all password learning.
This allows you to have automatic login on some systems, but not
on others (important production servers may require the extra
security).
You can also configure "Save to disk" to be off, in which case
IVT will store paswords in memory (lost when IVT exits). As long
as IVT keeps running, you can log on to the same hosts again and
again, but the the passwords are not recorded on disk in any form
(not even encrypted).

SSH support
Simply choose "SSH" in the create-session dialog (instead of
Telnet) and IVT will do Secure Shell version 2. The login process
is integrated with the auto-login password learning system, so
all the features and benefits of that system apply to SSH
sessions as wel. Note the padlock in the statusbar to indicate the
session is secure.
Also note the commands entered at the prompt (export EXINIT...), which
are always sent automatically on any session, any host I log in to by
a small IVT script. This script is not confused by the fortune cookie
displayed by Linux during login (see below for the text of the script).
The many options that can be configured for SSH are shown in the next
shot.


IVT can work with the PAGEANT authentication agent of PuTTY
(distributed with IVT). When you use an SSH keypair, IVT will
automatically start and use this authentication agent. This agent
uses your private key to authenticate to SSH server machines, and
also allows you to use programs such as SCP on Unix
without having to enter passwords again. IVT passes the
name of the keyfile(s) to Pageant automatically, too.
The setup panel also has buttons to start Pageant immediately and
to start the key generator, the integrated help for these buttons
explains what the advantages of keypairs over passwords are and
how to use them.
IVT also allows more control over SSH host keys than PuTTY does.
You can view the keys, and export them to a file. Such files can
be used to configure IVT to (optionally) limit SSH connections to
previously known hosts only.
The IVT setup
interface is shown below (the windows were dragged around to show
the Midnight Commander beneath). Notice the printer setup options
(Auto Landscape, Controller mode and "Properties") which allow
full control over your printers. Also notice the "Font scaling",
which will automatically shrink the font to make a
screen-print fit your currently selected paper size. This can be
very handy when you have a large monitor (and/or a small font).
The tab bar shows one other session, the status bar also shows the
current session number (1) and total session (2). Clicking on the numbers
will switch sessions, or re-order them.
for the current ses

The screen below shows
the double-high and double wide characters. This screen is from
the VTTEST program. The HELP menu shows one way of accessing the
built-in manual.
Notice the status bar: session 1 has had an error (it is red), session 3
has been active (produced output).
The shots below show
Kerberos in action (IVT Secure Access, the commercial
version).
First of all, when IVT connects to the server and sees that
Kerberos is available, it checks the credentials cache. When it finds
no valid credentials, it says:
KERBR5: Attempting login program c:/tools/krb5.exe
And starts the (configurable) Kerberos login program, The following
program pops up:

This shows my expired credentials. If I type the correct password, my
credentials are renewed. IVT detects this, and immediately uses the
fresh credentials to authenticate. It even closes the Kerberos login
program for me (so it appears & disappears automatically).
IVT then checks the authentication of the server
(server successfully authenticated itself).
It shows the fact that the server authenticated me
(Kerberos accepted you as 'ruurdb@SNIPWEG.WXS.NL).
IVT forwards my credentials to the host, and shows whether the
host accepted them or not
(Forwarded credentials accepted).
Since auto-encryption is enabled, IVT will negotiate a secure
session and it tells me it the connection is encrypted in both
directions. The status line shows a padlock icon when the
connection is encrypted in both directions (same as for SSH).
The password-learning system is integrated with Kerberos,
it will not attempt to wait for login and password prompts,
and shows a window for a few seconds to let me know this.
My standard script (export EXINIT) does its thing, and then
I quickly typed "echo $DISPLAY" (before the green popup
disappeared) and the answer is ":1", showing that IVT negotiated
the X-Windows port forwarding protocol and the Kerberized telnet
server is now tunneling X-traffic through IVT so it is encrypted
along with the rest.

Below is what happens
on non-Kerberized, succesful logins.
I typed "rohan" as the hostname, and IVT looked up the default
username for that host (ruurdb), attempts to login and
succeeds.
I have a script that sends a few default commands to each initial
session, to set my favourite environment (VI init string and a
'set -o vi'). This is because I have some 50 hosts which come and
go all the time (reinstall of the OS) so I can't change the
login-profiles of the accounts. The script is the following:
ONCONNECT * MyEnv
Script MyEnv
Call IvtWaitLoggedIn
SEND "export EXINIT=\":se ai sw=3 nows\"\r"
Call WaitPrompt
SEND "set -o vi\r"
END
The popup-window shows
what IVT is doing in the background (it disappears after a few
seconds).
Note the status line, which shows that there are now 2 sessions
active, the current hostname, time and a comment that identifies
the purpose of the session. The comment can also be set when I
create the session, defaults to user@host and can be altered
later. The text in the tab also defaults to user@host and can also
be changed by a script or the user.

The one below
demonstrates the ANSI compliance of IVT. This is an *old* VT100
art file, displayed by IVT simply by CATting the file to the
screen. This only works properly when you first select codepage
"437" in IVT and select black as the background color.

This shows the main
help screen of IVT (type F4, followed by F1 or from one of the
many context-sensitive help parts of IVT).
All underlined fields are mouse-clickable hyperlinks. The menubar
on top offers facilities to find certain topics quickly. There is
a table of contents, major-features list and much, much more
(almost 300 pages when printed!).
Notice the vertical scrollbar, which allows a more convenient way
of scrolling through the help. I also immediately shows the size
of a topic.

This shot is showing
off the multi-session features of IVT.
There are four sessions active, the current one is number 1 (the
1/4 in the status line). Clicking on the "Window" item on the
menubar results in the menu-window you see. It lists the comments
of all 4 sessions, another session can be selected using the
mouse or keyboard.
Note that IVT has TELNET, Kerberized TELNET (padlock + TLN), SSH and a serial
session active at the same time!
The 'Session maintenance' dialog allows you to re-arrange, rename,
regroup, export and kill sessions.
There are very many ways to switch between sessions using mouse,
keyboard or script controls.

In the configuration
file of IVT, or by using the groups editor, groups
of sessions can be described and named. A click on the
<Groups> button in the main create session dialog
will show all such defined groups (like was done below) and allow
you to create new ones. Double-clicking on a group will cause
that group of sessions to be created (or select the line and
click the <Launch> button). Every session will be
logged in automatically (when possible), and will start whatever
you want (under script control).
For example, double-clicking on the "setuid" line will start 6
sessions, on various development and test machines, using
different accounts (some as root, some as me), go to various
directories and start VI on various files. My entire development
environment for SETUID initialised in a single mouseclick! Once
you get used to this, you wonder how you ever got along without
it!

This shot shows the
"setup" screen of Kerberos (commercial version only).
You will find that the Kerberos setup button is greyed out in the
freeware version (Kerberos is simply not compiled into the
program, it is not just disabled).
