Share via


Telnet Server Registry Settings (Compact 2013)

3/26/2014

The registry stores information necessary to configure the system for applications and hardware devices. The registry also contains information that the operating system continually references during operation. The protected registry contains named values for configuration.

Note

The default registry values vary depending on which Catalog items are included in your OS design.

The Telnet server settings are located under the HKEY_LOCAL_MACHINE\Comm\TELNETD registry key.

Note

HKEY_LOCAL_MACHINE\COMM\TELNETD is a protected (access-restricted) registry key on some devices.

The following table shows the named values for the HKEY_LOCAL_MACHINE\Comm\TELNETD key.

Value

Description

IsEnabled : REG_DWORD

Indicates whether the Telnet server is enabled. To enable the server, set this value to a non-zero value; otherwise, set to 0 to disable the server. If the sample Telnet server is started and this value has not been set, it uses accepting connections.

UseAuthentication : REG_DWORD

To require a password check on the user, set this value to 1; otherwise, set it to 0. By default, the Telnet sample requires authentication.

UserList : String

Provides a semicolon-separated list of allowed users. Requires UseAuthentication to be enabled.

Ee499490.security(en-us,WinEmbedded.80).gifSecurity Note:
We recommend that you set this value. Setting this value requires that potential clients supply both a valid username and a password to access the Telnet service.

The Telnet sample reads the UseAuthentication and UserList values in the registry before servicing each request. Therefore, changes made to these registry values take effect immediately and do not require the Telnet sample to be restarted.

Telnet also verifies that IsEnabled has a non-zero value before servicing each request. However, if IsEnabled is set to 0 during the Telnet server's initialization, it will never service any requests, even if the registry key is set to a non-zero value after server startup. To start the Telnet server in this case, set IsEnabled to a non-zero value and restart the server.

Create and manage Telnet users and passwords

The Telnet server included with Windows Embedded Compact 2013 can operate with authentication enabled or disabled, as indicated by the value of the UseAuthentication registry setting:

To disable authentication, add the following lines to the OSDesign.reg file:

[HKEY_LOCAL_MACHINE\COMM\TELNETD]
    "IsEnabled"=dword:1
    "UseAuthentication"=dword:0

This will enable all users to access Telnet server on your image and no authentication will be requested.

To enable authentication, you must first add the NTLM sysgen variable (SYSGEN_AUTH_NTLM) to your image. For more information, see Authentication Services Catalog Items and Sysgen Variables

Next, add the user to the registry in OSDesign.reg:

[HKEY_LOCAL_MACHINE\COMM\TELNETD]
"IsEnabled"=dword:1
"UseAuthentication"=dword:1
"UserList"="<username>"

Where username is the name of the user you want to be able to access the Telnet server.

By default, there is no password defined for the users on the system. The password cannot be set at build time and is usually set on first system boot.

The following example shows how to set the password “Password1” for the user “User1”:

#include "ntlmssp.h"

#define DEFAULT_USER L"User1"
#define DEFAULT_NEW_PASS L"Password1"
...
BOOL bRet = NTLMSetUserInfo(DEFAULT_USER, DEFAULT_NEW_PASS);

if (bRet == FALSE)
RETAILMSG(1, (L"Failed to set user info"));
else
RETAILMSG(1, (L"User info updated"));
...

For more information, see the following Microsoft MVP blog post on how to create and manage Telnet users.

See Also

Other Resources

Telnet Server