Differences

This shows you the differences between the selected revisions of the page.

commandline 2022-06-16 commandline 2024-03-23 (current)
Line 17: Line 17:
winscp.exe [mysession] [/hostkey=<fingerprint>] winscp.exe [mysession] [/hostkey=<fingerprint>]
winscp.exe [mysession] [/username=<user>] [/password=<pass>] winscp.exe [mysession] [/username=<user>] [/password=<pass>]
 +winscp.exe [mysession] [/passwordsfromfiles]
winscp.exe [mysession] [/clientcert=<file> [/passphrase=<passphrase>]] winscp.exe [mysession] [/clientcert=<file> [/passphrase=<passphrase>]]
winscp.exe [mysession] [/certificate=<fingerprint>] winscp.exe [mysession] [/certificate=<fingerprint>]
Line 30: Line 31:
winscp.exe [/rawtransfersettings setting1=value1 setting2=value2 ...] winscp.exe [/rawtransfersettings setting1=value1 setting2=value2 ...]
winscp.exe /batchsettings <site_mask> setting1=value1 setting2=value2 ... winscp.exe /batchsettings <site_mask> setting1=value1 setting2=value2 ...
-winscp.exe /keygen keyfile [/output=<file>] [/changepassphrase] [/comment=<text>]+winscp.exe /keygen keyfile [/output=<file>] [/changepassphrase] 
 +winscp.exe /keygen keyfile [/comment=<text>] [/certificate=<file>]
winscp.exe /update winscp.exe /update
winscp.exe /info winscp.exe /info
Line 46: Line 48:
winscp.com [/rawconfig config1=value1 config2=value2 ...] winscp.com [/rawconfig config1=value1 config2=value2 ...]
winscp.com /batchsettings <site_mask> setting1=value1 setting2=value2 ... winscp.com /batchsettings <site_mask> setting1=value1 setting2=value2 ...
-winscp.com /keygen keyfile [/output=<file>] [/changepassphrase] [/comment=<text>] +winscp.com /keygen keyfile [/output=<file>] [/changepassphrase] 
-winscp.exe /info+winscp.com /keygen keyfile [/comment=<text>] [/certificate=<file>] 
 +winscp.com /info
winscp.com /help winscp.com /help
</code> </code>
Line 60: Line 63:
If there's already idle WinSCP instance running, the session(s) opens in the existing instance. To force session open in new instance of WinSCP, use ''/==newinstance=='' parameter. If there's already idle WinSCP instance running, the session(s) opens in the existing instance. To force session open in new instance of WinSCP, use ''/==newinstance=='' parameter.
-The parameter ''/privatekey'' specifies a [[local_path|local path]] to an [[public_key#private|SSH private key file]]. If the key file is encrypted, use the ''/passphrase'' to specify its passphrase.+The parameter ''/==privatekey=='' specifies a [[local_path|local path]] to an [[public_key#private|SSH private key file]]. If the key file is encrypted, use the ''/passphrase'' to specify its passphrase. The passphrase [[#passwordsfromfiles|can be read from a file]].
The parameter ''/hostkey'' specifies the fingerprint of the expected SSH host key (or several alternative fingerprints separated by a semicolon). It makes WinSCP automatically [[ssh_verifying_the_host_key|accept the host key]] with the fingerprint. The parameter ''/hostkey'' specifies the fingerprint of the expected SSH host key (or several alternative fingerprints separated by a semicolon). It makes WinSCP automatically [[ssh_verifying_the_host_key|accept the host key]] with the fingerprint.
-You can use the parameters ''/==username=='' and ''/password'' as an alternative way to specify the credentials.  The credentials are normally part of the [[session_url|session URL]]. Using these switches has the advantage of not needing to [[session_url#special|URL-encode special characters]].+You can use the parameters ''/==username=='' and ''/password'' as an alternative way to specify the credentials.  The credentials are normally part of the [[session_url|session URL]]. Using these switches has the advantage of not needing to [[session_url#special|URL-encode special characters]]. The password [[#passwordsfromfiles|can be read from a file]]. 
 + 
 +With parameter ''/==passwordsfromfiles=='', the values of [[#username|''/password'']], [[#privatekey|''/passphrase'']] and in general all passwords from all sources are interpreted as paths to files, where the actual passwords are read from. The files must use UTF-8 or UTF-16 encoding.((With UTF-8 encoding use of BOM is optional. With UTF-16 the BOM is mandatory. Only the first line of the file is considered. Use of more lines is reserved for the future.))
The parameter ''/clientcert'' specifies a [[local_path|local path]] to FTPS or WebDAVS [[tls#client_certificate|TLS/SSL client certificate]]. If the certificate is encrypted, use the ''/passphrase'' to specify its passphrase. The parameter ''/clientcert'' specifies a [[local_path|local path]] to FTPS or WebDAVS [[tls#client_certificate|TLS/SSL client certificate]]. If the certificate is encrypted, use the ''/passphrase'' to specify its passphrase.
Line 84: Line 89:
<code batch> <code batch>
winscp.exe "My site" winscp.exe "My site"
-winscp.exe sftp://martin:password@example.com/ /hostkey="ssh-rsa 2048 xxxxxxxxxxx...="+winscp.exe sftp://martin:password@example.com/ /hostkey="ssh-rsa 2048 xxxxxxxxxxx..."
winscp.exe scp://test@example.com:2222/ /privatekey=mykey.ppk winscp.exe scp://test@example.com:2222/ /privatekey=mykey.ppk
winscp.exe ftps://martin:password@example.com/ winscp.exe ftps://martin:password@example.com/
Line 125: Line 130:
Examples: <code batch> Examples: <code batch>
winscp.com /script="C:\Users\martin\Documents\myscript.txt" winscp.com /script="C:\Users\martin\Documents\myscript.txt"
-winscp.com /command "open sftp://martin@example.com/ -hostkey=""ssh-rsa 2048 xxxx...=""" "exit"+winscp.com /command "open sftp://martin@example.com/ -hostkey=""ssh-rsa 2048 xxxx...""" "exit"
winscp.exe /console /script="myscript.txt" /log="myscript.log" winscp.exe /console /script="myscript.txt" /log="myscript.log"
</code> </code>
Line 144: Line 149:
Use ''/==defaults=='' parameter along with ''/upload'', ''/synchronize'' or ''/keepuptodate'' to skip the settings dialog and start the operation straight away with default settings. Alternatively you can specify a number of seconds, to actually show the settings dialogs, but have them automatically submit after the specified time elapses. Use ''/==defaults=='' parameter along with ''/upload'', ''/synchronize'' or ''/keepuptodate'' to skip the settings dialog and start the operation straight away with default settings. Alternatively you can specify a number of seconds, to actually show the settings dialogs, but have them automatically submit after the specified time elapses.
-Use the ''/refresh'' parameter to reload remote panel of all running instances of WinSCP. If a session is specified on command-line, only instances that have that session as active are refreshed. If a path is specified after the ''/refresh'', only that directory is refreshed.+Use the ''/==refresh=='' parameter to reload remote panel of all running instances of WinSCP. If a session is specified on command-line, only instances that have that session as active are refreshed. If a path is specified after the ''/refresh'', only that directory is refreshed.
It is recommended to escape the arguments with [[#syntax|// switch]]. It is recommended to escape the arguments with [[#syntax|// switch]].
Line 177: Line 182:
==== [[keygen]] Private key conversion and modification ==== ==== [[keygen]] Private key conversion and modification ====
-Use the ''/keygen'' switch to convert [[public_key#private|private keys]] from other formats to a PuTTY ''.ppk'' format or to change their passphrase or comment. +Use the ''/keygen'' switch to convert [[public_key#private|private keys]] from other formats to a PuTTY ''.ppk'' format or to change their passphrase or comment or to add a certificate. You can combine a conversion and key changes into one command.
-A parameter after the ''/keygen'' switch specifies a path to an input private key file. The input key can be in OpenSSH or ssh.com format (when converting the key to the PuTTY format) or in the PuTTY format (when changing a key passphrase or comment).+A parameter after the ''/keygen'' switch specifies a path to an input private key file. The input key can be in OpenSSH or ssh.com format (when converting the key to the PuTTY format) or in the PuTTY format (when modifying the key).
When converting the key from other format, you need to specify an output key path using the ''/output'' switch. When modifying a PuTTY key, the existing file is overwritten, if ''/output'' is not specified. When converting the key from other format, you need to specify an output key path using the ''/output'' switch. When modifying a PuTTY key, the existing file is overwritten, if ''/output'' is not specified.
Line 186: Line 191:
Use ''/comment'' switch to change the key comment. Use ''/comment'' switch to change the key comment.
 +
 +Use ''/certificate'' switch to add an certificate to the key.
For example, to convert key ''mykey.pem'' from OpenSSH format to ''mykey.ppk'' in PuTTY format and set its comment: For example, to convert key ''mykey.pem'' from OpenSSH format to ''mykey.ppk'' in PuTTY format and set its comment:
Line 199: Line 206:
</code> </code>
-For a compatibility with *nix ''[[&amp;man_ref(1,puttygen)|puttygen]]'', the ''-o'', ''-P'' and ''-C'' switches are understood as aliases to ''/output'', ''/changepassphrase'' and ''/comment'' respectively. So, for features supported by WinSCP, you can use the same arguments as for ''puttygen'', just prefixed with ''/keygen'':+For a compatibility with *nix ''[[https://manpages.debian.org/stable/putty-tools/puttygen.1.en.html|puttygen]]'', the ''-o'', ''-P'', ''-C'', ''%%--old-passphrase%%'' and ''%%--certificate%%'' switches are understood as aliases to ''/output'', ''/changepassphrase'', ''/comment'', ''/passphrase'' and ''/certificate'' respectively. The ''%%--new-passphrase%%'' is recognized too. So, for features supported by WinSCP, you can use the same arguments as for ''puttygen'', just prefixed with ''/keygen'':
<code batch> <code batch>
-winscp.com /keygen mykey.pem -o mykey.ppk -c "Converted from OpenSSH format"+winscp.com /keygen mykey.pem -o mykey.ppk -C "Converted from OpenSSH format"
</code> </code>
- 
==== [[auxiliary]] Auxiliary ==== ==== [[auxiliary]] Auxiliary ====

Last modified: by martin