Icon The Kermit Project   |   Now hosted by Panix.com
New York City USA   •   kermit@kermitproject.org
since 1981
The first new Kermit release for Windows in nearly twenty years...

  CKW: C-Kermit 10.0 for Microsoft Windows

    SECOND BETA TEST: 17 August 2022Includes built-in SSH client

Download   Install   Run   Export   Coexist   Documentation   Screenshots

Also see:    CKW How-To   (Ini files, SSH setup, ...)

Frank da Cruz
fdc@kermitproject.org
ckw@kermitproject.org ← questions, problems, reports
Created: 16 July 2022
Last update: Tue Sep 6 14:12:53 2022 New York time

This page assumes a degree of familiarity with Kermit software; if you need an introduction, look HERE.

The new Open Source release of TPFKAK95 (The Program Formerly Known as Kermit 95 — K95 for short — and which is now called C-Kermit for Windows — CKW for short) is well on its way towards final release, thanks to David Goodwin in New Zealand, who has been doing all the work himself — metric tons of it!.

Links: :    David Goodwin's notes  •  Discussion on Vogons.org  •  Twitter discussion  •  The first CKW Beta

David updates his notes frequently but you have to go down to the Updates section; here's a direct link. He is making enormous progess! Also see his Plans for the Third Beta section.
THE BIG NEWS... is that CKW now includes a modern, up-to-date, and exportable built-in SSH v2 client based on LibSSH 0.9.6. This is obviously a huge improvement over the previous situation in which SSH connections could be made only with the assistance of an external SSH client (or even an external computer as described here). For now (at least) the built-in SSH client works only in Windows Vista and later, due to conflicts between LibSSH and the older compilers and/or APIs.

See David's notes for a detailed listing of all the changes since the first beta, including some surprises as well but also some yet-to-surmount roadblocks on certain older Windows versions.

About C-Kermit for Windows

As noted in the table above, the source code is available from David's archive. It will be incorporated into the C-Kermit 10.0 Beta.05 sources (along many other contributions and fixes) then everybody should be sync. The second CKW Beta announces itself as:
C-Kermit 10.0 OPEN SOURCE:, Aug 17 2022, for Windows
 Copyright (C) 1985, 2022,
  Trustees of Columbia University in the City of New York.
(It should also say "Beta.xx" but we'll do that next time around.) The copyright remains with Columbia U, in accordance with the separation agreement of 2011. CKW uses the C-Kermit version number, not the old K95 one, which was different (the last K95 release was 2.1.3, which was contemporary with C-Kermit 8.0.207). The LICENSE command shows the new Open Source license.

Known Problems with C-Kermit for Windows Second Beta

Send bug reports, questions, and comments to ckw@kermitproject.org.
  1. It doesn't display the Beta version in its startup message (herald). This will be fixed in the next Beta; the Beta-test number will be aligned with the general C-Kermit one and the full version number will be available in the new built-in variable \m(fullversion).
  2. See this page about the SSH client. Also: There are some complaints about SSH session closing after a period of inactivity. This could be for either of two reasons:
    1. The host's ssh server kills idle jobs. You can defeat this with "set ssh heartbeat-interval n" to have CKW send an "Ignore" message to the SSH server every n seconds, e.g. 60.
    2. The host itself kills idle jobs. You can get around this with "set terminal idle-timeout seconds"
      and "set terminal idle-action output \26". Unfortunately the idle-action character can't be NUL (\0) but \26 (Ctrl-Z) is a pretty good choice, at least for Linux hosts (shell, Emacs, etc).
    about which the "help ssh set" text says "Specifies a number of seconds of idle time after which an IGNORE message will be sent to the server. This pulse is useful for maintaining connections through HTTP Proxy servers and Network Address Translators. The default is OFF (0 seconds)."
  3. If you already had Kermit 95 installed on your computer, then after you install CKW B2, if you edit \v(inidir)k95custom.ini* or \v(inidir)k95site.ini, CKW B2 will not see your edits . This turns out to be for two good reasons:
    1. Your k95custom.ini (your personal customization file) file should be in \v(appdata), not \v(inidir).
    2. \v(k95site.ini) is not for personal use, it's for the network manager on PC networks to make site-wide customizations, e.g. for all the PCs on a corporate PC LAN.
    Diagnosis: All these directories were writable by the user in early Windows versions. Beginning with (I think) Windows Vista, \v(inidir) became read-only except for Administrator. The reason the problem became evident only in CKW B2 is that it's the first version to be built with modern compilers and runtimes.

    Solution: Moving k95custom.ini to \v(appdata) — where you can edit it — fixes the problem.

* \v(inidir) is normally "C:\ProgramData\Kermit 95\" but might be something else on older Windows versions.

Downloading

The second Beta-test version is available now, downloadable in various configuations from here:

https://ftp2.zx.net.nz/pub/CKW/test_builds/2022-08-17/

The configurations are:

Table 1: CKW download options
Configuration package link  Description
ckw-b2.zip Full-featured version for Windows Vista and later, built with Visual C++ 2020), includes SSH and Pseudoterminal code
ckw-b2-vintage.zip Feature-reduced version for Windows XP/Server 2003 and older and on Windows NT 3.51 built with Visual C++ 6.0 SP6 (like Beta 1 with bug fixes); for this version you'll need to use a relay if you want to make SSH connections.
win7.png Screenshot from Windows 7
nt351.png Screenshot from Windows NT 3.51
ckw-b2-src.zip Source code

Here's the procedure:

  1. Make a new folder on your desktop named (you can name it whatever you want, but the following instructions refer to ).
  2. Download the desired CKW configuration package from the "Configuration column package link" column in the table. The appropriate choice for most people (i.e. those using Windows Vista or later) would be ckw‑b2.zip (we'll assume this in the rest of the instructions).
  3. Move (drag) the downloaded zip archive to folder.
  4. Open (double-click) the folder.
  5. Right-click on the .zip file and choose "Extract All...". This creates a subdirectory called .
  6. (optional) Delete the .zip file (right-click → delete).

Installing

There is (as yet) no "one-click" installer for CKW. Here is the procedure for the second Beta; hopefully it will evolve into something more familiar.
  1. Open the "" folder (double-click it).
  2. The folder contains 15 files, which include:

    • k95g.exe - The executable C-Kermit 10.0 for Windows (K95) program
    • k95.exe - Ditto, but runs in "console mode" (like DOS, not recommended)
    • libcrypto-1_1.dll - Required for SSH
    • ssh.dll - Required for SSH
    • ssh-readme.txt - Read this (about SSH) (also online here)
    • And a bunch of others that can be ignored
    The DLL's are required for Kermit to run, so don't delete them.
  3. If you already have an icon on your desktop called "k95g.exe - Shortcut" from the previous CKW test version, rename it (for example to "k95gB1.exe") so you can still have access to to Beta 1 after installing shortcuts to Beta 2.
  4. In the " folder, Right-click on k95g.exe and choose "Create shortcut" This creates a file called "k95g.exe - Shortcut"
  5. Drag the "k95g.exe - Shortcut" to your Windows desktop or wherever else you want to run Kermit from.
Leave the folder as it is, don't move, rename, or delete it.

The new built-in SSH client is ready to use for password authentication. To set up passwordless key exchange authentication, read these instructions.

Running

Start (run) the new C-Kermit for Windows program by double-clicking the "k95g.exe - Shortcut" icon. The first time you start it you'll get warnings from Windows and/or your antivirus software because this is a new program and it's free and open-source. Examples of warnings:

  1. Windows protected your PC
    Microsoft Defender SmartScreen prevented an unrecognized app from starting. Running this app might put your PC at risk.
    More info click this
    App:  k95g.exe
    Publisher:  Unknown publisher
    [ Run anyway ] ← click this
  2. Symantec Endpoint Protection Download Insight
    Our information on this file is inconclusive. We recommend not using this file unless you know it is safe.
    k95g.exe
    [ Remove this file from my computer ]
    [ Allow this file ] ← click this
    Unproven: There is not enough information about this file to recommend it. Very few users: This file has been seen by fewer than 5 Symantec users. Very new: Symantec has known abou this file approximately 2 days.

    Permission: If you press OK, an application exemption will be created for this file. You should allow only files you are sure are safe. Are you sure you want to allow this file?
    [ Cancel ]
    [ OK ] ← click this
These warnings appear only the first time you start the new CKW. But they come back when you download a new release (and then they go away again).

Coexistence with K95 2.1

If you already have Kermit 95 2.1.3 (or earlier) installed on your PC, CKW won't interfere with it and you can use both versions, and you can still use the K95 Dialer. At present CKW is installed in a folder on your desktop, whereas K95 2.1 was installed in the normal Windows way:
Table 2: K95 2.1 directories
File Filename Directory Kermit variable
Executable (GUI) k95g.exe C:\Program Files (x86)\Kermit 95 2.1\ \v(exedir)
Executable (console) k95.exe C:\Program Files (x86)\Kermit 95 2.1\ \v(exedir)
Root startup file k95.ini C:\ProgramData\Kermit 95\ \v(inidir)
Sitewide initialization file k95site.ini C:\ProgramData\Kermit 95\ \v(inidir)
Customization file k95custom.ini C:\Users\username\AppData\Roaming\Kermit 95\ \v(appdata)
Note: the actual directory names can vary according Windows version.

CKW *presently* uses the same initialization and customization files. If these files contain any commands not supported by CKW or by K95, you can protect them with:

if < \v(version) 1000000 {
    commands for K95    
}
if >= \v(version) 1000000 {
    commands for CKW
}
\v(version) is the all-numeric version number of the C-Kermit code used for the Windows build. 1000000 is C-Kermit 10.0 and 800207 is C-Kermit 8.0.207. When CKW is finally released it will still peacefully coexist with K95, although the exact mechanisms have yet to be worked out, but mostlikely all of its file names will start with "ckw" rather than "k95" (as in the table), and it will have its own separate \v(exedir), \v(inidir), and \v(appdata) directories.

The CKW Initialization File

More about "Ini files"

In Betas 1 and 2 CKW uses K95's initialization and customization files (Table 2) if they exist. Future Betas will have their own set, e.g. ckwcustom.ini instead of k95custom.ini. The same directories as for K95 are used for the k95.ini, k95site.ini, and k95custom.ini files. These are plain-text files that contain C-Kermit/CKW commands. The k95custom.ini is where you would set up your preferences. For making connections to other computers, you can define a macro for each host includes the access details, the connection and login procedure, and the fonts, font-sizes, screen dimensions, colors, position, resize behavior, and so on, for each host you connect to. You can use different attributes (e.g. color) for each host so when you have many connections going at once, you can tell the difference by their distinct appearances. The K95 Relay page includes an example of such a script. New scripts and ini files for CKW will be posted here shortly.

Exportability of SSH client

The US Department of Commerce Bureau of Industry and Security (BIS) Export Administration Regulations (EAR) govern the export of software that includes encryption features. These rules have changed since Kermit 95 was last released in 2003, at which time certain countries were barred from obtaining such software from the USA by mail order, download, or other means. As of 2021, however, Kermit software is no longer subject to export restrictions, and C-Kermit for Windows can include a built-in SSH client based on LibSSH that is, indeed, exportable to all countries. See these references:
  1. Understanding US Export Controls with Open Source Projects, The Linux Foundation
  2. Understanding US Export Controls and Open Source Projects (2021 Update), The Linux Foundation
  3. Publicly Available - Public Domain - Open Source, MIT Office of the Vice President for Research
  4. Bureau of Industry and Security Export Administration Regulations, US Department of Commerce (2022)
  5. Bureau of Industry and Security Commerce Control List Category 5 - Telecommunications and Information Security

In brief (paraphrasing from item 5):  Publicly available ready-to-use software whose primary function is other than information security, that includes an openly available encryption component without modifications, and that is of interest to a wide range of individuals and businesses, is exempt from the BIS Export Administration Regulations. That's why LibSSH and numerous SSH clients are downloadable on the Internet by anybody at all, no matter what country they are in. CKW will be no different.

Similar considerations apply to Kermit's built-in OpenSSL and Kerberos 5 features, such as its Telnet, FTP, and HTTP clients.

Documention

Specific to C-Kermit for Windows:
A "How To" document for getting started with CKW:
https://www.kermitproject.org/ckwhowto.html

David Goodwin's notes:
http://www.ext.zx.net.nz/software/notes/kermit95/

Since C-Kermit for Windows is C-Kermit, you can refer to the C-Kermit documentation for most everything else:
https://www.kermitproject.org/ckbindex.html
https://www.kermitproject.org/ck90.html#doc
For an introduction to the Kermit script language (which lets you write procedures to automate common tasks), see this page:
https://www.kermitproject.org/ckscripts.html
For CKW's Windows-specific aspects, see:
  1. Chapter 6 of the Kermit 95 manual: Using the Command Screen,
  2. Chapter 7 of the Kermit 95 manual: Using the Terminal Emulator, and
  3. Chapter 8 of the Kermit 95 manual: File Transfer.

The New Open-Source Kermit Project hosted by Panix.com