HP TCP/IP Services for OpenVMS
Release Notes
3.15.7 SSH sessions
This section includes restrictions pertaining to SSH sessions.
- In an SSH session on the OpenVMS server, the originating client
host name and the user name or port identification are not available.
For example, in a TELNET session, the OpenVMS DCL command SHOW TERMINAL
displays the following information about a UNIX client:
Remote Port Info: Host: unixsys.myco.com Port:2728
|
Likewise, information about an OpenVMS client appears as:
Remote Port Info: Host: mysys.com Locn:_RTA4:/USER
|
Neither of these lines is displayed in a similar SSH session;
however, information for SSH sessions is available in the logical names
SYS$REM_ID (username) and SYS$REM_NODE and SYS$REM_NODE_FULLNAME
(hostname)
- Starting SSH sessions recursively (for example, starting one SSH
session from within an existing SSH session) creates a layer of
sessions. Logging out of the innermost session may return to a layer
other than the one from which the session was started.
- SSH escape sequences are not fully supported. For example, you may
have to enter the
Escape .
(escape character followed by a space and a period) exit sequence twice
for it to take effect. On exit, the terminal is left in NOECHO and
PASTHRU mode.
- On certain non-OpenVMS clients, after attempting to exit from an
SFTP session, you must press Enter an extra time to return to the
operating system prompt.
3.15.8 SSH messages
This section includes notes and restrictions pertaining to SSH session
messages.
- Normally, the translation of the system logical name SYS$ANNOUNCE
is displayed after authentication is complete. In this version of SSH,
no automated mechanism exists for displaying this text as a prelogin
banner.
To provide a prelogin banner from a text file, create the
file SSH_BANNER_MESSAGE. containing the text to be displayed before
login.
To enter multiple lines in the banner text, make sure each
line ends with an explicit carriage-return character except the last
line.
Save the banner message file in the
TCPIP$SSH_DEVICE:[TCPIP$SSH.SSH2] directory, with privileges that allow
it to be read by the user account [TCPIP$SSH].
If you do not use
the default file name and location for the message banner file, define
them using the
BannerMessageFile
option in the TCPIP$SSH_DEVICE:[TCPIP$SSH.SSH2]SSHD2_CONFIG. file.
Specify the location and file name of your banner message file as the
argument to the option using one of the following formats:
BannerMessageFile TCPIP$SSH_DEVICE:[TCPIP$SSH]BANNER1.TXT
BannerMessageFile /TCPIP$SSH_DEVICE/TCPIP$SSH/BANNER2.TXT
BannerMessageFile /etc/banner3.txt
|
Note that the argument may be in either OpenVMS or UNIX format and
is not case sensitive. (If multiple definitions for the same option are
included in the configuration file, the last one listed will take
effect.)
- Some SSH informational, warning, and error message codes are
truncated in the display. For example:
%TCPIP-E-SSH_FC_ERR_NO_S, file doesn't exist
|
- Some SSH log and trace output messages, and informational, warning,
and error messages display file specifications as UNIX path names.
3.15.9 SSH remote commands
This section includes notes and restrictions pertaining to SSH remote
commands.
- Command lines for remote command execution through SSH are limited
to 153 characters.
- After you execute an SSH remote command, you may need to press the
Enter key to get back to the DCL prompt.
- When you execute remote commands on the OpenVMS SSH server, the log
file TCPIP$SSH_RCMD.LOG is created in the directory defined by the
logical name SYS$LOGIN for your user account. This log file is not
purged automatically.
- When you execute remote commands on an OpenVMS SSH client connected
to a non-OpenVMS SSH server, output may not be displayed correctly. For
example, sequential lines might be offset as if missing a linefeed, as
in the following example:
$ ssh user@unixhost ls -a
user's password:
Authentication successful.
.
..
.TTauthority
.Xauthority
.cshrc
.dt
.dtprofile
|
To display the output correctly, use the
-t
option with the command, as in the following command example:
$ ssh -t user@unixhost ls -a
|
- Any OpenVMS command that refreshes the display can have unexpected
results when executed as a remote SSH command. For example, the
following command exhibits this behavior:
$ MONITOR PROCESS /TOPCPU
|
Executed locally, this command displays a bar chart that is
continuously updated. When executed as a remote command, it displays
each update sequentially. In addition, you cannot terminate the command
using Ctrl/C.
3.15.10 SSH batch mode
This section includes batch mode restrictions.
- Because the SSH, SFTP, and SCP commands are implemented by code
ported from UNIX sources, they do not support all of the standard
OpenVMS behaviors for SYS$INPUT, SYS$OUTPUT, and SYS$ERROR in command
procedures. For example:
- SYS$INPUT is not the default batch command procedure.
- Output written to a batch log file or other SYS$OUTPUT file may
have an extra
<CR>
(ASCII decimal 13) or other explicit formatting characters.
- You can direct SYS$OUTPUT to a file, as in the following example:
$ ASSIGN OUT.DAT SYS$OUTPUT
|
- When you run these commands from an interactive command procedure,
you should use the explicit UNIX batch mode flags, as listed in the
following table:
For... |
Use... |
SSH (remote command execution or port forwarding),
|
-o batchmode yes
|
SCP,
|
"-B"
|
SFTP,
|
"-B" {
batchfile}
|
1Double quotation marks (") are required
- If you use the SSH command in batch mode with an interactive
session (that is, not for remote command execution or setting up port
forwarding), the batch job hangs.
If the
-s
option is used in an interactive SSH session, or with an SSH command
executed interactively in a DCL command procedure, the terminal session
hangs. Ctrl/Y and Ctrl/C will not restore the DCL prompt. To release
the hung terminal session, you must restart the SSH client and server.
- For the SFTP command, note the following:
- If the command is used without the
-B {batchfile}
option, SFTP uses the following file by default:
SYS$LOGIN:TCPIP$SFTP_BATCHFILE.TXT.
- When running in batch mode:
- The SFTP command displays the final state-of-progress indicator;
the SCP command does not.
- The SSH command will not prompt for a password, password update, or
passphrase. If one is required, the batch job fails.
- The SSH command will not cause a new host key to be saved if the
value of
StrictHostkeyChecking
is "no;" SSH will not prompt for one if the value is
"ask."
For other notes and restrictions pertaining to
keys, see Section 3.15.6.
- If an
ls
command is contained in the SFTP batch input, and the interactive
output requires input from the keyboard to continue, then some of the
output lines might be omitted from the batch log file.
3.15.11 ls fails after cd to a logical name from a Tru64 UNIX client
ls
can fail when using
sftp cd
to a logical name from a Tru64 UNIX client.
For a workaround, try the following:
-
cd
to the path for the directory in UNIX format, e.g., instead of:
cd tcpip$ssh_home
, use
cd /sys$sysdence/tcpip$ssh
.
- Perform the
ls
specifying the logical name in the path, e.g.,
ls /tcpip$ssh_home
.
3.15.12 SSH X11 port forwarding
This section includes X11 port forwarding restrictions and problems.
- To use X11 forwarding in native mode, the system must be running
DECwindows MOTIF Version 1.3 or higher. In addition, the X Authority
utility (xauth) is required on the system. The X11 server uses this
utility for authenticating host/user connections. For more information
on how to use this utility, see the HP DECwindows Motif for OpenVMS
documentation.
- To display a remote X11 client application on your X11 server, you
must set the display variable on the X11 client to the address of the
X11 server the client is connecting to. You can verify that the
variable is set correctly on an OpenVMS system by using the following
DCL command:
$ SHOW LOGICAL DECW$DISPLAY
|
For WSA display devices, use the SHOW DISPLAY command to see the
display variable value.
To set the display variable on an OpenVMS
client to point to your server, use the SET DISPLAY command as in the
following example, where 127.127.1.1 is the server node address:
$ SET DISPLAY/CREATE/NODE=127.127.1.1/TRANSPORT=TCPIP
|
SSH on OpenVMS supports only local and TCP/IP transports. If you
are using a local transport, you have to be at the system where the
display is to appear, and that system must be running the X11 server.
For local transport, use the following command to set the display:
$ SET DISPLAY/CREATE/TRANSPORT=LOCAL
|
On UNIX systems, use the following command to set the display
variable to point to a server node with address 16.20.176.33 and using
the TCP/IP transports:
>setenv display 16.20.176.33:0.0
|
To use local transport, use the following UNIX command:
- To set up a standard port forwarding session for X11 on a remote
OpenVMS system, HP recommends that you use remote port
forwarding; local port forwarding will not work.
3.15.13 SSH file transfer (All File Sizes)
This section includes SSH restrictions pertaining to file transfer
operations.
- Using the colon character ":" in the pathname for the source and
destination filename parameters in an SCP command may cause a delay.
Due to an overloading of the colon character in SCP syntax to
indicate a hostname and in OpenVMS as a path delimiter, what is
intended to be an OpenVMS logical name for a device or directory in an
SCP file parameter may be checked as a hostname first and passed to a
DNS lookup. Normally this is benign, but this could incur an otherwise
unexplainable wait in an environment experiencing DNS lookup delays. To
avoid the possibility of confusion, use UNIX-style filename syntax.
- On OpenVMS, setting the
ForcePTTYAllocation
keyword to "yes" in the SSH2_CONFIG. file can result in
failures when performing file copy operations. (In other
implementations of SSH, setting the keyword
ForcePTTYAllocation
to "yes" in the SSH2_CONFIG. file has the same effect as
using the
-t
option to the SSH command.)
- When connected to some servers, the client can detect packet benign
file transfer protocol packet-length errors. By default, no message is
displayed.
To display warning messages, type the following:
$ DEFINE/SYS NO TCPIP$SSH_TOLERANT_PROTOCOL STATUS
|
using either the "NO" or any string starting with an upper- or
lowercase N.
Following is an example of a warning message:
Warning: packet length mismatch: expected 27,
got 8; connection to non-standard server?
|
To retain the logical name assignment through each reboot, add the
DEFINE command to the appropriate startup command procedure.
- VMS Plus Mode:
When the client and the server are OpenVMS
systems running v5.6, they recognize each other as such and implement
TCP/IP Services specific SFTP protocol extensions that allow transfer
of files in either direction while preserving the key OpenVMS file
attributes: record format and record attributes.
The TCP/IP
Services SCP client uses SFTP as the underlying protocol so VMS Plus
mode works with SCP as well.
VMS Plus mode supports only
sequential organization files.
Remember that if a v5.6 system is
connected with an older TCP/IP Services system that does not support
VMS Plus mode, file attributes will not be preserved. VMS Plus mode can
only be used if both sides support it.
- Talking to a system without VMS Plus:
If one side of the file
transfer, client or server, does not support VMS Plus mode for SFTP,
file attributes will not be preserved.
In this mode TCP/IP
Services supports reading of any of the following types of sequential
organization files:
- Stream_LF
- Variable Length
- VFC
- Fortran Carriage Control
- Fixed Length
- Undefined
Note that which side is the server and which is the client is
irrelevant. OpenVMS is simply running on the side that is reading the
file. You can, for example, use SFTP client from OpenVMS to put a VFC
file to UNIX, or you could use the SFTP client on the UNIX system to
get the same file from the OpenVMS system. In either case, the OpenVMS
system is reading the file and the Unix file is writing it.
Copying some VFC files from OpenVMS to systems not running OpenVMS and
then back to OpenVMS may result in a file that the OpenVMS
DIFFERENCES
command shows as different from the original file. This is
unpreventable and the file as transferred out and back in is correct in
that the
TYPE
and
PRINT
commands display it as expected and the output here is the same as that
for the original file.
Copying Fortran CC files from OpenVMS to
systems other than OpenVMS will always result in a file that shows
differences from the original. This is because on its transfer from
OpenVMS to UNIX the Fortran CC attributes were converted to inline
ASCII control character sequences that print the lines as the Fortran
CC control bytes require. For example, the Fortran character for
overstrike results in a pair of carriage returns for the line thus
implementing an overstrike.
- TCP/IP Services supports only sequential file organization, not
relative or indexed files
To transfer these unsupported files you
can package the file(s) into an OpenVMS saveset and transfer that or,
depending on how many hops over which SFTP/SCP implementations and
operating systems, you may need to use more extreme measures. One way
that works consistently (provided that you have FTSV installed) is
packaging files into a save set, then using SPOOL COMPRESS to make them
into an self-extracting VMS image, then using UUENCODE to transform the
image into an ASCII text file.
- Not all variants of UNIX path names are supported when referring to
files on OpenVMS clients and servers.
- The SCP and SFTP commands from the following Windows clients have
been tested and interoperate correctly with the OpenVMS SSH server:
Other versions and other clients may work, depending on protocol
implementation and factors such as whether the client can handle
OpenVMS-format file specifications.
- When using the SFTP command, pressing Ctrl/C does not display
"Cancel" as expected. Also, Ctrl/T does not work as in DCL to display a
status line; instead, it switches two adjacent characters, as on UNIX
systems. Other problems with character handling have been fixed.
- The SFTP
ls
command pauses for an extended time after displaying a page of data and
then continues with the next page. This occurs because the ssh server
is sending back a complete directory listing, which the client filters;
therefore, for directories with many files, the delay is due to the
client waiting for listing results from the server. This is typical
SFTP behavior, and not specific to OpenVMS.
- Using SCP or SFTP command to copy a file back to itself (either in
local mode, or by connecting back to the client host) fails with the
following error:
%TCPIP-E-SSH_FC_ERR_INVA, file record format invalid for copy
|
- The SCP command issued from a client using SSH Version 1 will not
work with the OpenVMS SSH server. The OpenVMS server does not support
SSH Version 1.
3.15.14 SSH transferring large files
This section includes restrictions pertaining to transferring large
files:
- The minimum version of DECC$SHR running on your system must be that
which was released with OpenVMS Version 8.2.
- You may need to adjust memory parameters (WSDEF, WSQUO, WSEXTENT,
and PGFLQUO) to accommodate the memory requirements of the file copy
client and server. The exact value depends on system resources and
virtual memory configuration. For more information, see Section 2.3.
For ssh filecopy, testing has shown that the main parameter to adjust
is PGFLQUO.
3.15.15 SSH server signals internal credentials cache error
If an SSH client attempts to use gssapi-with-mic authentication to the
TCP/IP Services for OpenVMS SSH server on a server host that is running
Kerberos V2.1 and the SSH client user's TGT is forwardable (a kinit -f
has been done) and the GssapiDelegateCredentials flag is set then the
SSH server will signal the following error in the server log:
Internal credentials cache error
|
This error text may appear on the SSH client user's screen, depending
on configuration.
This can be worked around in either of the following ways:
- Upgrade to Kerberos V3.0 on the SSH server host.
- Use the
kinit
without the
-f
flag on the SSH client.
- Turn the GssapiDelegateCredentials configuration switch off on the
SSH client.
Because forwarding of client credentials with
gssapi-with-mic authentication
to the OpenVMS SSH server is not supported setting
GssapiDelegateCredentials is not necessary.
3.15.16 SFTP general problems and restrictions
This section includes SFTP general notes and restrictions.
- In an SFTP session, the
ls
command entered with the directory path in a OpenVMS syntax displays or
lists the content of the directory in the UNIX syntax. For example:
sftp> ls [.ssh_testfiles]
./ssh_testfiles
./ssh_testfiles/98277_SLF.Z;1
|
- In a SFTP session, the
ls -R
command fails to handle sub-directories if the directory filename
includes ODS-5 extended characters.
- The following sftp command with the "*.*" format does not provide
the complete list of files:
sftp> ls [.ssh_testfiles]*.*
|
However, you can use the following command formats to list all the
files:
sftp> ls [.ssh_testfiles]*.*;*
sftp> ls [.ssh_testfiles]*
|
- The SFTP
get
command does not parse the correct version number to the file. For
example, the following command gets the file with the version number,
but the version number is invalid.
sftp> get TCPIP$FTP_SERVER.LOG;-5000000
|
- No error message is displayed with an SFTP
get
command on a file with an invalid version number and a wildcard
character.
- In an SFTP session, the
lrm
command fails when the command is entered with wildcard character "*"
as follows:
sftp> lrm *.*;*
Command failed.
sftp> lrm BIG_VFC.*;*
Command failed.
|
- The SFTP client exhibits a memory leak. It runs out of memory and
generates an error message because of the extensive use of wildcard
filenames in the
get
and
put
operations.
3.15.17 SFTP generates audit warnings with class device
This restriction applies only to those using AUDIT with class device as
in the following command:
$ SET AUDIT/ALARM/ENABLE=ACCESS=ALL/CLASS=DEVICE
|
If the SFTP server generates audit warnings for a logical IO to a
mailbox when the SFTP user exits SFTP, perform the following step to
prevent this from occurring:
$ DEFINE/SYSTEM TCPIP$SSH_SERVER_WAIT_FOR_CHILD 1
|
3.15.18 BIND Resolver diagnostics creates an SSH packet corruption
When you turn on BIND Resolver Diagnostics using either of the
following methods, you can create an SSH packet corruption:
- Define the logical name
TCPIP$BIND_RES_OPTIONS
to "debug".
- Add the following line to
TCPIP$ETC:RESOLV.CONF
: