The Columbia Crown The Kermit Project | Columbia University
612 West 115th Street, New York NY 10025 USA •
…since 1981

C - K e r m i t   8 . 0

Portable Scriptable Network and Serial Communication Software for Unix and VMS

The Broadway Local
The Broadway Local. Next stop: Columbia University. Photo courtesy   David Pirmann,

Version: 8.0.211
Released:   10 April 2004
Forthcoming Release: C-Kermit 9.0....

The Kermit Project is cancelled effective 1 July 2011

On or before June 30th, barring unforeseen circumstances, C-Kermit 9.0 will be released with the Revised 3-Clause BSD License. This means that C-Kermit no longer needs to be licensed for commercial redistribution. Technical support for Kermit software will not be available from Columbia University after June 30th.


User Guide, Using C-Kermit, 2nd Edition (Digital Press). Click image to order from CLICK HERE for reviews. CLICK HERE for more information.

Trouble or problems with C-Kermit? LOOK HERE and (for Linux) HERE.
This page last updated: Tue Jun 21 07:45:40 2011   

C-Kermit is a combined network and serial communication software package offering a consistent, transport-independent, cross-platform approach to connection establishment, terminal sessions, file transfer, file management, character-set translation, numeric and alphanumeric paging, and automation of file transfer and management, dialogs, and communication tasks through its built-in scripting language. C-Kermit includes:

And lots more -- CLICK HERE for specifications. C-Kermit is:

C-Kermit 8.0 is available for practically every known variation and version of Unix, past and present, on every architecture, and for DEC / Compaq / HP VMS / OpenVMS on VAX, Alpha, and IA64 / IPF. Earlier releases of C-Kermit remain available for other platforms and operating systems:

In Unix, C-Kermit can be thought of as a user-friendly and powerful alternative to cu, tip, minicom, uucp, ftp, ftpd, telnet, ktelnet, rlogin, ssh, find, grep, iconv, recode, expect, wget, sendpage, bc, and to some extent even Lisp, your shell, and/or Perl; a single package for both network and serial communications, offering automation, helpfulness, and language features not found in most of the other packages, and with most of the same features available on all its non-Unix platforms (such as VMS), as well as in Kermit 95 on Windows 9x/ME/NT/2000/XP/Vista.

C-Kermit is included in the following operating systems:

Also see:


[ Top ] [ Documentation ] [ New Features ] [ Case Studies ] [ Download ]

As of version 9.0 (starting with the first Beta test), C-Kermit has an Open Source license, the Revised 3-Clause BSD License. Everybody can use it as they wish for any purpose, including redistribution and resale. It may be included with any operating system where it works or can be made to work, including both free and commercial versions of Unix and Hewlett-Packard (formerly DEC) VMS (OpenVMS). Technical support will be available from Columbia University only through 30 June 2011.

C-Kermit 8.0 and 7.0 have a more restrictive license, CLICK HERE to see it.

[ Top ] [ Download ] [ Binaries ] [ Kermit Home ]


[ Google ] [ Top ] [ License ] [ New Features ] [ Case Studies ] [ Download ]

The user manual for C-Kermit 8.0 is (still) the book Using C-Kermit, Second Edition [ INFO ], which is current with C-Kermit 6.0. Features new subsequent C-Kermit releases in the supplements (see links just below).

If you don't have the manual, please order it. It explains step-by-step, with examples and sometimes pictures, how to use C-Kermit: how to make connections, how to troubleshoot connection and file-transfer problems, how to handle character-set translation, how to write script programs, and lots more; especially useful since live Kermit software support is no longer available from Columbia University after 30 June 2011. Beginning in 2011, the manual is also available as a Kindle E-Book.

Online Information Resources:

If there is sufficient demand, an updated edition of the manual can be produced for C-Kermit 9.0.

[ Top ] [ Download ] [ Binaries ] [ Kermit Home ]


[ Top ] [ License ] [ Documentation ] [ Case Studies ] [ Download ]

Built-In FTP Client (Unix only)
  • Wouldn't it be nice if all the power, flexibility, and ease of use of the Kermit command and scripting language were available in an FTP client, not to mention features like security, character-set translation, recovery, update, directory tree transfer, atomic file movement, automatic text/binary mode switching, and almost everything else C-Kermit can do? Now they are. CLICK HERE for an overview. The built-in FTP client is available only in the Unix version of C-Kermit 8.0, and is also included in Kermit 95 2.x; anybody who is interested in adapting it to VMS or other operating systems, please contact us.

Built-In HTTP 1.1 Client (Unix only)
  • HTTP connections can be open at the same time as other connections.
  • Both persistent and "one-shot" connections are supported.
  • Fully scriptable.
  • SSL/TLS security is configurable.
  • CLICK HERE for documentation.

  • SSH: Unix C-Kermit now includes an interface to the external SSH program, so you can use all of C-Kermit's features (command language, scripting, file transfer, character-set translation) on SSH connections.
  • Due to relaxations in USA export law, secure versions of C-Kermit are available in source-code form, supporting Kerberos IV, Kerberos V, SSL/TLS, and SRP.
  • ZLIB compression has been added to SSL/TLS for improved performance.
  • Kermit's SSL/TLS security method can now use not only X.509 certificates but also Kerberos 5 credentials.
  • CLICK HERE for the new Kermit Security Reference.

  • Fast generic AT dialing is now the default.
  • Many new modem types added.
  • C-Kermit now supports RFC 2217: Telnet Com Port Control. When dialing out from an access (reverse terminal) server that supports this option (such as a Cisco 2509 or a Linux-based sredird or telnetcpcd server), and that was contacted using Telnet protocol, C-Kermit can now set and examine the port's serial communications parameters: speed, flow control, modem signals, etc, and can send BREAK signals from the server's serial port.

Terminal Sessions
  • Timestamped session log now available.
  • Now 8-bit clean by default rather than by request.
  • The pseudo-keepalive feature previously found only in K95 is now available also in most Unix versions of C-Kermit. This lets you have Kermit automatically time out when the terminal session has been inactive for a specified amount of time and take any of several desired action upon an idle timeout: return to command mode, hangup, exit, or send the character, string, or Telnet negotiation of your choice.
  • CLICK HERE for details.

Automatic Text/Binary Mode Switching
  • C-Kermit did this in version 7.0 by matching filenames against lists of well-known filetypes (like .exe, .zip, .txt, etc), which is not foolproof; for example, is foo.doc a text file or a (binary) Microsoft Word document?. Now the contents of each file is quickly prescanned to determine its type. This occurs when sending files with Kermit, Zmodem, or FTP. CLICK HERE for details.

Proxy support
  • Kermit can now make terminal or FTP connections through Proxy Servers supporting the HTTP CONNECT command.

Scripting Improvements

Command Parsing Improvements

New or Improved Commands
  • CHMOD (Unix only)
  • IF KBHIT and other new IF conditions
  • COPY, RENAME, and TRANSLATE now operate on file groups
  • SET ROOT (similar to Unix chroot)
  • Improved character-set handling in the TYPE command

Bugs Fixed
  • Memory leaks and buffer attack vulnerabilities plugged.
  • Expect-like scripting of local programs via SET HOST /PTY was broken on some platforms.
  • Solaris hardware flow control was broken.
  • FreeBSD 4.0 + ncurses 5.0 problem.
  • NetBSD modem signal sensing and control.
  • SCO OSR5 and Unixware modem signal sensing and control.
  • Transparent printing in Unix didn't always work.
  • ANSWER 0 (wait forever for incoming call) broken.
  • Problems with RETURN from right-recursive functions.
  • SEND /COMMAND didn't work.
  • Streaming file transfers couldn't be canceled.
  • Improper interaction of SEND-LIST with GET.
  • The MAIL command was broken.
  • "kermit -s *"   might have skipped some files.
  • CP1251 erroneously treated like Latin-1.
  • UTF-8 conversion didn't handle C1 control area properly.
  • Lots of other smaller problems.

New to 8.0.201

New to 8.0.206

New to 8.0.208
  • SSL/TLS support upgraded to OpenSSL 0.9.7.
  • SSL/TLS support added to (Open)VMS.
  • Bug fixes.
  • For details CLICK HERE.

New to 8.0.209
  • Bug fixes.
  • Corresponds to Kermit 95 2.1.4.
  • For details CLICK HERE.

New to 8.0.211

CLICK HERE to see the list of features that were new to C-Kermit 7.0.

[ Top ] [ Download ] [ Binaries ] [ Kermit Home ]


[ Top ] [ License ] [ Documentation ] [ New Features ] [ Download ]

CLICK HERE to view the C-Kermit Tutorial.

Case studies and tutorials are posted from time to time to the newsgroup news:comp.protocols.kermit.misc to showcase some of the new features of C-Kermit 7.0 and 8.0, with each posting also available on the website. Here's the index:

  1. Cleaning Out Beta-Test Binaries (file management)
  2. Kerbang Scripts (script construction and argument passing)
  3. Autodownload (file transfer)
  4. Automatic Text/Binary Mode Switching (file transfer)
  5. Directory Recursion (file transfer and management)
  6. Streaming (file transfer)
  7. Internet Kermit Service (file transfer and management)
  8. Unicode (character sets)
  9. Printing (file transfer and management)
  10. Atomic File Movement (file transfer and management)
  11. C-Kermit Meets SSH (networking and security)
  12. C-Kermit's Telnet Client (networking)
  13. PPP Dialing (networking)
  14. Character Sets (file transfer)
  15. File Selection (file transfer and management)
  16. Bootstrapping (installation)
  17. Fun with Dates and Times (script programming)
  18. File Timestamps and Permissions (file transfer)
  19. An Easy Way to Get Files from IKSD (file transfer)
  20. Lynx/Kermit Coordination (Part I)
  21. Secure Telnet Using C-Kermit 7.1 With Stunnel
  22. More Fun with Dates
  23. Modem Pool Statistics
  24. Lynx/Kermit Coordination (Part II)
  25. Remote Access
  26. EMACS Kermit Mode
  27. The Dining Philosophers
  28. Simulation
  29. Transaction Processing Revisited
    (Check back later for more as we add new ones)

[ Top ] [ Kermit Home ]


[ Top ] [ License ] [ Documentation ] [ New Features ] [ Case Studies ]

You have many choices for downloading:

You can also order the C-Kermit 8.0 CDROM, described HERE.

Install packages and prebuilt binaries (including those on the CDROM) do NOT include C-Kermit's security features, due to USA export law. To obtain a version of C-Kermit that includes Kerberos, SSL, TLS, or SRP, you must download the source code and build it yourself. Address complaints to the US Department of Commerce.

Install Packages

[ Source Code ] [ Individual Binaries ]

Install packages are contributed by Linux distributors, OS vendors, user groups, or users (we don't make them ourselves). The following install packages are presently available for C-Kermit 8.0. These were last checked 17 Aug 2004. Offsite package locations are liable disappear without notice.

Debian Linux 6.0 ("Squeeze") C-Kermit 8.0.211 Package Collection
Packages for amd64, armel, i386, ia64, mips, mipsel, powerpc, s390, and sparc (offsite):

OpenBSD 3.5 C-Kermit 8.0 Package Collection (offsite):
Packages for i386, Alpha, AMD-64, HP PA-RISC, Motorola 680x0, PowerPC, Sparc, Sparc64.

FreeBSD Ports Collection (offsite): - Search for "kermit" in the search box.

NetBSD pkg_add Ports Collection (offsite): (many Kermit versions, many hardware platforms)

SuSE Linux C-Kermit 8.0.209 i586 RPM (offsite):

Redhat 9 Linux C-Kermit 8.0.206 i386 RPM (offsite):

Sharp Zaurus C-Kermit 8.0.206 ipkg installer (onsite):

CLICK HERE for a general discussion of C-Kermit package making. NOTE HOWEVER that the Unix version of C-Kermit 8.0 includes its own new installation procedure, built into the makefile. See Section 5 of the Unix C-Kermit installation guide.

[ Top ] [ Kermit Home ]

Download and Build from Source Code

[ Top ] [ Unix Build ] [ VMS Build ]

You can download C-Kermit 8.0 source and text files directly from the Kermit Project in any of several archive formats by clicking on the following FTP links. The complete archives contain source code, build procedure, license, initialization files, CA certificates, manual page or help topic, initialization files, and plain-text information files extracted from the Web pages listed in the Documentation section: a complete distribution. The text archives contain everything but the source code; these can used when you download a prebuilt binary. The size of each archive file in megabytes is shown in each cell.

Archive Zip Tar Tar.Z Tar.gz
Unix Complete  2.9 11.7 cku211.tar  4.1 cku211.tar.Z  2.9 cku211.tar.gz
Unix Text Only  0.8  2.7 cku211txt.tar  1.0 cku211txt.tar.Z  0.8 cku211txt.tar.gz
VMS Complete  2.8      
VMS Text Only  0.6      

(Zip archives contain only text files, unzip them with "-a" or "-aa".)

Besides those, we also have C-Kermit 7.0 archives for the following platforms that have not been updated to C-Kermit 8.0:
Source code and text files for Stratus VOS, ZIP archive (text files in DOS format) (Version 7.0).
Source code and text files for Microware OS-9/68k, ZIP archive (text files in DOS format). (Version 7.0).

If you want to monitor the day-to-day progress of C-Kermit development, you can find the current working source code HERE.

Source code and text files are also available separately in the kermit/f/ directory. These include files for platforms other than Unix and VMS, such as Stratus VOS, Data General AOS/VS, OS-9, the Amiga, etc. All files in this directory are text files; transfer them in text mode. See the ckaaaa.txt file for details. NOTE: The Unix and VMS source files are at 8.0 level. The VOS, Amiga, OS-9, and AOS/VS versions remain at 7.0 level. Others (Macintosh, Atari ST) have not yet been updated in a long while due to lack or programmers and/or platforms; volunteers welcome. And of course anybody interested in porting C-Kermit to new platforms is more than welcome to contact us about it; we'll be happy to get you started.

Trouble with FTP?
o CLICK HERE for FTP hints and tips

[ Top ] [ Hints & Tips ] [ Kermit Home ]

Unix Build Instructions

[ Top ] [ Unix Hints & Tips ] [ Unix Installation Instructions ]

  1. Make a fresh directory and 'cd' to it. Example:

      $ mkdir kermit
      $ cd kermit

  2. Download the appropriate source code archive.

  3. If you downloaded a compressed tar file, uncompress it. Examples:

      $ gunzip cku211.tar.gz
      $ uncompress cku211.tar.Z

  4. If you downloaded a tar archive, "un-tar" it. Example:

      $ tar xvf cku211.tar

    If you downloaded a Zip archive, unzip it. Example:

      $ unzip -a

  5. Now you can delete the tar archive (or zip archive) if you wish:

      $ rm cku211.tar                 (or rm

  6. Read the comments at the top of the makefile to find out which target is appropriate for your computer and operating system, and then give the appropriate "make" command. Examples:

      $ make linux                    (Linux, almost any version)
      $ make freebsd44                (FreeBSD 4.4)
      $ make solaris8                 (Solaris 8 with cc)
      $ make solaris8g                (Solaris 8 with gcc)
      $ make irix62                   (IRIX 6.2)

  7. Quick install: move the resulting 'wermit' binary to /usr/local/bin/kermit and give it the same owner, group, and permissions as minicom or cu. Move the to the appropriate man page directory and rename it as appropriate, e.g. to kermit.1. For more detailed instructions, read the C-Kermit installation instructions, especially if you had trouble with any of these steps, or if you will be using C-Kermit to dial out. The most convenient way to install is to the use makefile's install target ("make install"); read about it HERE. See the configuration options guide for information about compile-time options for customizing the feature set.

You can also download individual Unix binaries from the C-Kermit binaries table, but to avoid library or other version mismatches, it is better to build from source code if you can.

[ Top ] [ Hints & Tips ] [ Kermit Home ]

VMS Build Instructions

[ Top ] [ VMS Hints & Tips ] [ VMS Installation Instructions ]

If you want to install a prebuilt VMS binary, then fetch the most appropriate VMS binary from the C-Kermit binaries table. Pick a VAX binary for a VAX or an Alpha binary for an Alpha. The VMS version number for the binary must be less than or equal to your VMS version. If you want to make TCP/IP connections, pick the binary for the appropriate TCP/IP product (TGV Multinet, DEC UCX, Process Software TCPware, etc), again with a version number less than or equal to yours; if none can be found, then try a UCX version (since most non-DEC TCP products include built-in UCX emulation). If you downloaded a prebuilt binary, also download the VMS C-Kermit text-file archive. Then read the installation instructions for VMS.

If you want to build from source code, fetch the VMS complete archive above if you have VMS-based unpacking tools, otherwise get the source files and text individually as described just below. NOTE: Unzip the Zip file with "unzip -a".

  1. Make a fresh directory and SET DEFAULT to it. Example:

      $ create/directory kermit
      $ set default [.kermit]

  2. Download the VMS source code Zip archive.

  3. Unpack the Zip archive. Example:

      $ unzip -a

  4. Run the build procedure:

      $ @ckvker

    If you have a pre-5.0 VMS release, use the "old" build procedure:

      $ @ckvold

    If you experience any trouble, read the comments at the top of the build procedure.

  5. This makes a WERMIT.EXE file in your current directory. Start it with:

     $ r wermit

  6. To install the version of Kermit you have just built, read the installation instructions.

[ Top ] [ Hints & Tips ] [ Kermit Home ]

Individual Binaries

[ Top ] [ Binaries Table ] [ C-Kermit Installation Instructions ]

The C-Kermit binaries table is HERE. Before visiting the table, you should read this section.

When you download a prebuilt-Kermit binary, you should also download the C-Kermit text files, unpack them if necessary, and install them as desired. NOTE: In Unix, you can still use "make install", even if if you did not use the makefile to build your Kermit binary (the makefile as well as all the text files you need are in the text archive).

In the binaries table, filenames start with "ck" for C-Kermit, then one letter or digit to indicate the platform ("u" for Unix, "d" for Data General AOS/VS, "v" for VMS, "i" for Amiga, "9" OS-9, "p" for Plan 9, etc). After that comes a three-digit edit number:

188: Version 5A(188), November 1992 through September 1993.
189: Version 5A(189), September 1993 through October 1994.
190: Version 5A(190), October 1994 through September 1996.
192: Version 6.0.192, September 1996 through December 1999.
193: Version 6.1.193, November 1996 through June 1998.
194: Version 6.1.194, June 1998 through December 1998.
195: Version 7.0.195, January 1999 through August 1999.
196: Version 7.0.196, September 1999 through final release 1 Jan 2000.
197: Version 7.0.197, January-February 2000.
200: Version 8.0.200, December 2001.
201: Version 8.0.201, February 2002.
206: Version 8.0.206, October 2002.
208: Version 8.0.208, 14 March 2003.
209: Version 8.0.209, 17 March 2003.
211: Version 8.0.211, 10 April 2004.
Then a possible test-version designator: "a" for Alpha or "b" for Beta, followed by the 2-digit test number. Examples:        C-Kermit 8.0.209 final release     C-Kermit 8.0.200 Beta.04        C-Kermit 7.0.197 final release

Test versions are included here only for platforms that do not have a final build available (usually because the machine disappeared or had an OS upgrade before the final C-Kermit release).

Note that edits 193, 194, 195, 198, 199, and 202-05 were never formally released (191 was only for OS/2).

The rest of the name is platform-dependent; in Unix it's the name of the makefile target, optionally followed by specific hardware platform and/or OS version, when it makes a difference. In VMS it's the platform ("axp" (i.e. Alpha) or "vax"), then the VMS version number (e.g. "vms73"), and then TCP/IP product and version number (or "nonet" if TCP/IP support is not built in). And so on. VMS TCP/IP product codes are as follows:

  ucx  DEC / Compaq / HP TCP/IP
  tgv  TGV MultiNet
  pst  Process Software TCPware
  twg  The Wollongong Group WIN/TCP or PathWay
  cmu  Carnegie-Mellon University CMU/IP

REMEMBER: It's often better to build your own binary than to run a prebuilt one, due to the ever-increasing likelihood of OS and/or library version mismatch.

After downloading, rename to "kermit" or "kermit.exe" (etc), as appropriate for your operating system and, if necessary, give execute permission, e.g. (in Unix):

  $ mv cku211.linux-i386-rh7.2 kermit
  $ chmod +x kermit

Also remember that before C-Kermit can be used to dial out from Unix, it will probably also be necessary to give the Kermit executable a certain owner and group, and to set it suid and/or sgid bits, to allow it access to the dialout device and/or lockfile directory (the same as any other dialout software, such as cu or minicom). Read Sections 10 and 11 of the Unix C-Kermit installation guide.

Notes on the Binaries:

  1. "curses" refers to the fullscreen file-transfer display, used when transferring files over dialout or network connections. It's nice but it adds size and sometimes causes problems so if a "curses" version gives you trouble, try a no-curses (NC) version. On platforms that have a choice between "traditional curses" and "new curses" (ncurses), you might also have a choice of binaries -- if one doesn't work, try the other.

  2. Likewise, some binaries come in TCP/IP and non-TCP/IP versions. If you don't need to make TCP/IP connections with C-Kermit, choose the non-TCP/IP version (if available). A TCP/IP-enabled binary might not run on platforms that don't have TCP/IP installed.

  3. And some binaries come in optimized and non-optimized versions; this refers to compile-time optimization. Choose the optimized version, but if it gives you trouble, try the corresponding non-optimized one, if available (some optimizers have bugs). When optimization is marked in the table, O means normal optimization, O- means no optimization, O+ means extra optimization.

  4. Some binaries are available in gcc and non-gcc versions; that is, versions built using two different compilers. If one gives you trouble, try the other if available. Some compilers have bugs; some compilers support features that other ones don't.

  5. Some HP-UX binaries (notably, the HP-UX 7.00 ones) are built for long filename (255 chars) file systems, others for short-filename (14 chars) systems; these are marked with SF and LF. Choose one that is appropriate for your file system.

  6. Some Linux binaries are linked with libc, some with glibc. Pick the one that is appropriate for your Linux system. Better yet, just build from source ("make linux" should work on any Linux system).

If you are able to make a binary not listed table
(or that is listed, but is not current"), please contribute it to the archive.

CLICK HERE to visit the C-Kermit binaries table.

Questions? Comments? -- Send e-mail.


[ Top ] [ Kermit Home ]

C-Kermit 8.0 / Columbia University / / / validate