SCP/Shell Tab (Login Dialog)
SCP/Shell tab allows user to configure shell specific options. Mostly it helps WinSCP to modify remote environment to match its requirements. The options are mainly used when working with SCP protocol. Even if you are using SFTP protocol, some of the options are made available for you, in case are using some feature that require separate shell session.
You need to check Advanced options to reveal the tab.
Shell
Use the Shell option to specify what shell WinSCP will use.
The bash
shell is recommended for working with WinSCP. If your default shell does not
work with WinSCP, you can specify another shell. Typing the full path (e.g. /bin/bash
or /usr/local/bin/bash
) is recommended.
You can also make use of the option to alter session startup.
For example to change the user after login (known as su
)
(see note 1).
The command to start shell is interpreted by the SSH server,
so the syntax can change with the server (see note 2).
WinSCP needs to know what environment variable contains exit code of the last command. By default it tries to autodetect that. However the autodetection can fail and also slows down login. You may specify the variable directly instead in Return code variable box.
Directory listing
Use the Listing command to change shell command,
WinSCP uses to list directory contents.
Particularly if your shell does not print group name in directory listing
by default, use ls -gla
to enforce it.
When the Ignore LS warnings checkbox is ticked, WinSCP will ignore any error messages printed by
the ls
command as long as it produces some regular output too. It also makes WinSCP ignore exit
code 1
of the command. The option was added primarily to override pagefile.sys
access-error produced by OpenSSH for Windows
whenever root directory was opened. However it may be useful even in other situations.
The Try to get full timestamp makes WinSCP attempt to use --full-time
option for
ls
command. It is particularly useful when you want to use some
synchronization command, for what you need precise timestamps. When
it is ticked, WinSCP will add the option to the first ls
command it issues. When the
(first) command fails for whatever reason, WinSCP will stop using the option for the whole session.
However in some cases WinSCP may fail to detect that the command failed. Then you need to disable the
feature manually.
Other Options
When Lookup user groups is ticked, WinSCP will use groups
command on start-up to list
groups the user belongs too. It will then offer the list on Properties dialog
to allow user select the group instead of typing it.
During WinSCP start up, you may receive an error indicating a problem with the groups
command. Untick the Lookup user groups box. More than likely your Linux environment doesn't have
the groups
command available.
On start-up WinSCP will by default clear all aliases on commands it uses. This is done to avoid unexpected
behaviour (e.g. alias rm
to rm -i
). If there are no aliases influencing command
behaviour, this feature can be disabled by unticking Clear aliases.
WinSCP also clears set of environment variables know to influence the format of directory listing. These
are: LANG
, LANGUAGE
, LC_CTYPE
, LC_COLLATE
,
LC_MONETARY
, LC_NUMERIC
, LC_TIME
, LC_MESSAGES
and
LC_ALL
. If no such variable is set, untick Clear national variables. This setting
speeds up the login process.
WinSCP uses scp
command to perform the transfer. On some SSH
servers, particularly ssh.com, the scp
may be a link to scp2
command. The
scp2
is in fact SFTP server, that WinSCP
cannot talk to in SCP mode. Check Use scp2 with scp1
compat. to make WinSCP try to force the scp
command to use really the
SCP protocol (using -1
option). Note that
if the server supports scp2
, it probably supports
SFTP protocol too.
Notes:
1) See FAQ for details.
2) Typically it is regular shell command interpreted by the default shell of user.