Differences
This shows you the differences between the selected revisions of the page.
2018-06-12 | 2018-06-12 | ||
no summary (196.12.44.66) (hidden) (untrusted) | Restored revision 1483867022. Undoing revision 1528797523. (martin) (hidden) | ||
Line 13: | Line 13: | ||
For SFTP, the only requirement beyond the server requirements above is to run SFTP on the server. It is best to run it as an SSH-2 subsystem. If you select SFTP-only on the Login dialog and the SFTP subsystem is not found, WinSCP will try to find the SFTP server in some common directories (''/usr/lib/sftp-server'', ''/usr/local/lib/sftp-server'', etc.). This way, it is possible to use SFTP even with SSH-1, which does not support subsystems. | For SFTP, the only requirement beyond the server requirements above is to run SFTP on the server. It is best to run it as an SSH-2 subsystem. If you select SFTP-only on the Login dialog and the SFTP subsystem is not found, WinSCP will try to find the SFTP server in some common directories (''/usr/lib/sftp-server'', ''/usr/local/lib/sftp-server'', etc.). This way, it is possible to use SFTP even with SSH-1, which does not support subsystems. | ||
+ | ===== [[scp]] SCP Requirements ===== | ||
+ | As the SCP protocol implements file transfers only, WinSCP must use other means to implement the additional functionality (like directory listing). WinSCP uses Unix-like shell commands to do that. This in turn means that when using the SCP protocol, it can connect to servers that run Unix-like or its emulation only ((e.g. Cygwin on Windows. See [[faq_openssh_win|FAQ]] to learn how to use WinSCP with a Windows server running OpenSSH on Cygwin.)). | ||
+ | To transfer files, ''scp1'' is used (it is called from within ''scp''). If only ''scp2'' is allowed on your server, check the //[[ui_login_scp#other_options|Use scp2 with scp1 compatibility]]// option on the //[[ui_login_scp|SCP/Shell page]]// on the Advanced Site Settings dialog. | ||
+ | |||
+ | For correct functionality, you must do the following. The ''bash'' shell is recommended for working with WinSCP. If your default shell doesn't work with WinSCP, you can make WinSCP use [[ui_login_scp#shell|other shell]]. | ||
+ | |||
+ | For its operation, WinSCP needs several commands: ''cd'', ''chgrp'', ''chmod'', ''chown'', ''echo'', ''groups'', ''ls'', ''mkdir'', ''mv'', ''pwd'', ''scp'', ''rm'', ''ln'', ''unalias'' and ''unset''. These commands have to be placed in the path and the user must have sufficient permissions to execute them. WinSCP expects "standard" behavior of these commands. You can avoid needing these commands by not using some of the WinSCP functions (''mkdir'', ''chown'', ''ln'', etc.) or by changing some configuration options (''groups'', ''unalias'' and ''unset''). | ||
+ | |||
+ | Just after establishing the connection with a server, all [[ui_login_scp#other_options|aliases on the above commands are cleared]]. This helps avoid unexpected behavior. | ||
+ | |||
+ | Another precondition is that the output of all commands be in English. This mostly concerns names of months in directory listings (''ls -la''). Because of this, WinSCP [[ui_login_scp#other_options|clears all user variables that govern command output]] after login. If command output also reflects some other server settings, it may be necessary to change this before WinSCP can be used. | ||
+ | |||
+ | The last necessary condition is the proper output of the ''ls -la'' command, particularly the standard number and ordering of the columns. If the default output does not satisfy the needs of WinSCP you can use //[[ui_login_scp#directory_listing|Listing command]]// option on the //SCP/Shell page// on the Advanced Site Settings dialog to modify it. | ||
+ | |||
+ | WinSCP will attempt detect support for the ''%%--full-time%%'' switch of the ''ls'' command. If the detection causes you problems, you can [[ui_login_scp#directory_listing|disable]] it. | ||
===== [[restricted_shell]] Using WinSCP with Restricted Shell Environments ===== | ===== [[restricted_shell]] Using WinSCP with Restricted Shell Environments ===== |