Archived:Tools for Using Telnet, SSH, RLOGIN, or RAW TCP With NI Software

Updated Nov 29, 2023

NI does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

Reported In

Software

  • LabVIEW
  • TestStand
  • LabWindows/CVI

Operating System

  • Windows

Other

  • LabSSH
  • labSSH
  • PuTTY

Issue Details

  • What are the Telnet, SSH, RLOGIN, or RAW TCP protocols?
  • Are Telnet, SSH, RLOGIN, or RAW TCP protocols supported in NI Software?
  • How do you use these to communicate in a LabVIEW, LabWindows/CVI, or TestStand application?
  • Can I call PuTTY/Plink commands from LabVIEW? 

Solution

NI software currently does not come with any native support for creating built-in Telnet, SSH, RLOGIN, or RAW client functionality in your applications. The LabVIEW Internet Toolkit is obsolete as of August, 2014. Certain APIs, specifically the Telnet API, have been deprecated.

The following third-party software allows networked communication: (Disclaimer: Third-Party Add-Ons for LabVIEW are offered by independent third-party providers who are solely responsible for such products. NI shall have no responsibility whatsoever for the performance of the Third-Party Add-Ons). 
 
  • The labSSH Toolkit from Labwerx adds Native SSH, SCP, and SFTP support to LabVIEW. labSSH allows you to interact with a remote computer using a secure shell, transfer files, and manage remote file systems with a built in VI library.
  • The LabSSH library from Labvolution adds SSH support for communication with remote machines in LabVIEW. 
  • The LIBSSH2 for LabVIEW adds SSH client support to LabVIEW using the libssh2 library. However, this only adds client-side SSH support, and does not add SSH server support.
  • The PuTTY software package also has a command-line interface to the PuTTY back ends named Plink that can be easily used by LabVIEW, LabWindows/CVI, or TestStand. To do so in LabVIEW, dynamically build a data script file that you can pass to Plink (PuTTY) via its command line options. Then, communicate with and launch the plink.exe executable:
    • In LabVIEW, use the System Exec VI, which is accessible from the Functions Palette by selecting Connectivity » Libraries&Executables
    • In CVI, use the LaunchExecutable() function
    • In TestStand, use the Call Executable step type

Additional Information

Background on Telnet, RLOGIN, SSH, and PuTTY:
  • The Telnet protocol offers a way to remotely access multi-user terminal servers across networks and the Internet. Telnet consists of a client-server connection where an application either is the Telnet client or communicates through a separate Telnet terminal client to the multi-user terminal server. 
  • RLOGIN is a Unix software utility that allows users to log in on another host via a network, communicating via TCP.  However, neither RLOGIN nor Telnet is a secure protocol, and their traffic can be easily seen with any port sniffing application. 
  • Secure Shell or SSH and RAW TCP are network protocols that allows data to be exchanged using a secure channel between two networked devices. Used primarily on Linux and Unix based systems to access shell accounts, SSH was designed as a replacement for Telnet and other insecure remote shells, which sent information, notably passwords, in plaintext, leaving them open for interception.
  • To transmit data using any of these protocols, you can use a separate terminal client like "PuTTY", a freeware SSH and Telnet client package that allows you to pass it data via command line options or port forwarding so that it may transmit your data to the multi-user terminal server for you.