Compress files before copying from sFTP site

crappy guide to using putty with dopus:

1) download latest version of putty installer from:
the.earth.li/~sgtatham/putty/lat ... taller.exe

2) Add the location of the putty programs folder to the windows path:
etherealmind.com/putty-command-line/

3) Configure a Saved session in putty. In this test, I have created one called "015_test"

a) enter your remote machine hostname & port (usually 22). Select ssh as connection type

b) Go to Category --> Connection -->Data
enter your user id for the remote machine in the auto-login bit

Go to Category -->Connection --> SSH
Check "Enable compression"
Move Blowfish to the position in-between AES and Arcfour
save your settings

c) See the following links if you have problems with the key generation:

Start the program puttygen.exe to generate a public and a private key. Do not use any passphrase. Save this in your putty programs folder

In the putty key generator program, there is a grey box that says "Public key for pasting into openssh authorised_keys file". copy the key

Use putty to ssh into your remote machine and then execute the following linux commands:

[code]cd .ssh
nano authorized_keys # i can use nano generally. if you can't (in order of difficulty try gedit, nedit, joe, vim or vi.

at the end of authorized_keys, paste the public key you copied from the putty key generator program and save the file

exit your ssh session[/code]

d) Go back to the Putty Configuration Window
Go to Category -->Connection --> SSH --> Auth
Enter the path of the saved private key file (press browse). Leave other defaults as such.
Launch your saved session. In my case "015_test"
Enter your password. You should connect in.
Disconnect
Relaunch your saved session. You should not be prompted for a password now.

######################
4) Now you have to configure dopus. This bit can do with lots of improvement as I don't really know much about dopus scripting. this is the skeleton of a proper command. It does the following actions:

  • You need to create a file called iLikeCheese.txt for this example to work.

  • You also need to change the word username to your username as in the example I am uploading the file to my home directory which requires this. Ideally you would create a variable that allows you to specify the path. I think you need the absolute path as I couldn't get it working with ~ instead of /home/username/

  • the copy addtoarchive presents a dialogue for which I selected the format as 7zip-tar-gz, as pretty much all linux distros I know of have the tar command.

  • One issue is that which my (crappy) version of the Dopus command, you need to make sure the source and destination for the addtoarchive dialogue are the same, as it seems to default to src & dest.

  • note that the plink and pscp commands use the putty session shortcut we created earlier 015_test. You can replace this with username@remotemachineName in a variable if you want. This would mean that you can use this button for any remote machine. However, you will be prompted for user id. May have to modify pscp command to make this work though

@firstfileonly cd {sourcepath} copy addtoarchive=.tgz pscp iLikeCheese.tgz 015_test:/home/username/ plink -ssh 015_test tar -zxvf iLikeCheese.tgz

Hopefully you or others reading this may be able to improve this skeleton Dopus command and post it here. :slight_smile:

All the best!

[quote="daroc"]
Alternatively, I'd prefer a simple application that would compress selected files to .zip or .tar.gz, send the file over ssh/sftp to apt remote folder (selected in DOpus in dest lister) and automatically decompress the file.

Rsync seems to be much larger tool than necessary.[/quote]

ps. I'm sure you can modify the skeleton command so that you can browse to the remotemachine-folder you wish to copy the file to.

then you will have to create a variable of the path: If I browse to a linux ftp folder, the path in dopus looks like:

ftp://CheeseFactory.somewhere.ac.uk//ho ... e/myfolder

you prob have to create a dest path variable that strips out the bits in bold:

ftp://CheeseFactory.somewhere.ac.uk//home/username/myfolder

so you get:

remoteDir_VAR="/home/username/myfolder"

then modify the skeleton command line to something like:

@firstfileonly cd {sourcepath} copy addtoarchive=.tgz pscp iLikeCheese.tgz 015_test:{remoteDir_VAR} plink -ssh 015_test tar -zxvf {remoteDir_VAR}/iLikeCheese.tgz

Thanks for pointing plink.exe out.

This seem to be simply enough to work with.

I open local filesystem and sFTP server in dual display mode.

Button to compress selected files and send it to sFTP. Created file will be named _copied.tgz.
I had to create file locally and then copy as it didn't work when I tried to create archives directly on remote server.
I had to use dopusrt.exe. It didn't work when I just used command (archive wasn't copied to the server).

<?xml version="1.0"?> <button backcol="none" display="both" textcol="none"> <label>Zip to dest</label> <icon1>#copy</icon1> <function type="normal"> <instruction>@firstfileonly</instruction> <instruction>@sync </instruction> <instruction>&quot;/home/dopusrt.exe&quot; /cmd Copy CREATEFOLDER _copied HERE ARCHIVE=.tgz</instruction> <instruction>&quot;/home/dopusrt.exe&quot; /cmd Copy Move _copied.tgz</instruction> </function> </button>

This button decompress _copied.tgz on sFTP.

<?xml version="1.0"?> <button backcol="none" display="both" textcol="none"> <label>Untar _copied.tgz</label> <icon1>#extract</icon1> <function type="normal"> <instruction>SELECT *</instruction> <instruction>@firstfileonly </instruction> <instruction>@nodeselect </instruction> <instruction>RENAME TO=&quot;*&quot;</instruction> <instruction>SELECT NONE</instruction> <instruction>@script vbscript </instruction> <instruction>Option Explicit</instruction> <instruction>Sub Run(ByVal sFile)</instruction> <instruction>Dim shell</instruction> <instruction> Set shell = CreateObject(&quot;WScript.Shell&quot;)</instruction> <instruction> shell.Run Unescape(sFile), 1, false</instruction> <instruction> Set shell = Nothing</instruction> <instruction>End Sub</instruction> <instruction>Function Rename_GetNewName ( strFileName, strFilePath, fIsFolder, strOldName, ByRef strNewName )</instruction> <instruction> Dim pathArray</instruction> <instruction> Dim passwdArray</instruction> <instruction> Dim userArray</instruction> <instruction> Dim addrArray</instruction> <instruction> Dim user</instruction> <instruction> Dim passwd</instruction> <instruction> Dim addr</instruction> <instruction> pathArray = split(strFilePath, &quot;:&quot;)</instruction> <instruction> passwdArray = split(pathArray(2), &quot;@&quot;)</instruction> <instruction> userArray = split(pathArray(1), &quot;?&quot;)</instruction> <instruction> passwd=passwdArray(0)</instruction> <instruction> user=userArray(1)</instruction> <instruction> addrArray = split(passwdArray(1), &quot;/&quot;)</instruction> <instruction> addr=addrArray(0)</instruction> <instruction> Dim path</instruction> <instruction> path = Mid(passwdArray(1), InStr(passwdArray(1), &quot;/&quot;))</instruction> <instruction> Run &quot;&quot;&quot;C:\Program Files (x86)\PuTTY\plink.exe&quot;&quot; -ssh -pw &quot; &amp; passwd &amp; &quot; &quot; &amp; user &amp; &quot;@&quot; &amp; addr &amp; &quot; cd &quot;&quot;&quot; &amp; path &amp; &quot;&quot;&quot; &amp;&amp; tar -xvf _copied.tgz&quot;</instruction> <instruction>End Function</instruction> </function> </button>

This button compress all files in current folder to _server.tar.gz.

<?xml version="1.0"?> <button backcol="none" display="both" textcol="none"> <label>Tar to _server.tar.gz</label> <icon1>#newzipfile</icon1> <function type="normal"> <instruction>SELECT *</instruction> <instruction>@firstfileonly </instruction> <instruction>@nodeselect </instruction> <instruction>RENAME TO=&quot;*&quot;</instruction> <instruction>SELECT NONE</instruction> <instruction>@script vbscript </instruction> <instruction>Option Explicit</instruction> <instruction>Sub Run(ByVal sFile)</instruction> <instruction>Dim shell</instruction> <instruction> Set shell = CreateObject(&quot;WScript.Shell&quot;)</instruction> <instruction> shell.Run Unescape(sFile), 1, false</instruction> <instruction> Set shell = Nothing</instruction> <instruction>End Sub</instruction> <instruction>Function Rename_GetNewName ( strFileName, strFilePath, fIsFolder, strOldName, ByRef strNewName )</instruction> <instruction> Dim pathArray</instruction> <instruction> Dim passwdArray</instruction> <instruction> Dim userArray</instruction> <instruction> Dim addrArray</instruction> <instruction> Dim user</instruction> <instruction> Dim passwd</instruction> <instruction> Dim addr</instruction> <instruction> pathArray = split(strFilePath, &quot;:&quot;)</instruction> <instruction> passwdArray = split(pathArray(2), &quot;@&quot;)</instruction> <instruction> userArray = split(pathArray(1), &quot;?&quot;)</instruction> <instruction> passwd=passwdArray(0)</instruction> <instruction> user=userArray(1)</instruction> <instruction> addrArray = split(passwdArray(1), &quot;/&quot;)</instruction> <instruction> addr=addrArray(0)</instruction> <instruction> Dim path</instruction> <instruction> path = Mid(passwdArray(1), InStr(passwdArray(1), &quot;/&quot;))</instruction> <instruction> Run &quot;&quot;&quot;C:\Program Files (x86)\PuTTY\plink.exe&quot;&quot; -ssh -pw &quot; &amp; passwd &amp; &quot; &quot; &amp; user &amp; &quot;@&quot; &amp; addr &amp; &quot; cd &quot;&quot;&quot; &amp; path &amp; &quot;&quot;&quot; &amp;&amp; tar -zcvf _server.tar.gz *&quot;</instruction> <instruction>End Function</instruction> </function> </button>

There might be need to include/exclude selected items as some folders might contain temporary or backup files. But for now I have no idea how to do it using plink.

i'm going to have a play with your code over the next few days and see if i can learn something. :slight_smile:

I've improved those codes a little bit.

First button executed commands asynchronously and didn't wait until archiving is complete.
And I've improved second and third button so they operate on selected archives or files/folders.

<?xml version="1.0"?> <button backcol="none" display="both" textcol="none"> <label>Zip to dest as _copied.tgz</label> <icon1>#copy</icon1> <function type="normal"> <instruction>@disablenosel </instruction> <instruction>@sync </instruction> <instruction>Copy CREATEFOLDER _copied HERE ARCHIVE=.tgz</instruction> <instruction>&quot;/home/dopusrt.exe&quot; /cmd Copy Move _copied.tgz</instruction> </function> </button>

<?xml version="1.0"?> <button backcol="none" display="both" textcol="none"> <label>Tar selected</label> <icon1>#newzipfile</icon1> <function type="normal"> <instruction>RENAME TO=&quot;*&quot;</instruction> <instruction>@script vbscript </instruction> <instruction>Option Explicit</instruction> <instruction>Sub Run(ByVal sFile)</instruction> <instruction>Dim shell</instruction> <instruction> Set shell = CreateObject(&quot;WScript.Shell&quot;)</instruction> <instruction> shell.Run Unescape(sFile), 1, false</instruction> <instruction> Set shell = Nothing</instruction> <instruction>End Sub</instruction> <instruction>Function Rename_GetNewName ( strFileName, strFilePath, fIsFolder, strOldName, ByRef strNewName )</instruction> <instruction> Dim pathArray</instruction> <instruction> Dim passwdArray</instruction> <instruction> Dim userArray</instruction> <instruction> Dim addrArray</instruction> <instruction> Dim user</instruction> <instruction> Dim passwd</instruction> <instruction> Dim addr</instruction> <instruction> pathArray = split(strFilePath, &quot;:&quot;)</instruction> <instruction> passwdArray = split(pathArray(2), &quot;@&quot;)</instruction> <instruction> userArray = split(pathArray(1), &quot;?&quot;)</instruction> <instruction> passwd=passwdArray(0)</instruction> <instruction> user=userArray(1)</instruction> <instruction> addrArray = split(passwdArray(1), &quot;/&quot;)</instruction> <instruction> addr=addrArray(0)</instruction> <instruction> Dim path</instruction> <instruction> path = Mid(passwdArray(1), InStr(passwdArray(1), &quot;/&quot;))</instruction> <instruction> Run &quot;&quot;&quot;C:\Program Files (x86)\PuTTY\plink.exe&quot;&quot; -ssh -pw &quot; &amp; passwd &amp; &quot; &quot; &amp; user &amp; &quot;@&quot; &amp; addr &amp; &quot; cd &quot;&quot;&quot; &amp; path &amp; &quot;&quot;&quot; &amp;&amp; tar -zcvf &quot;&quot;&apos;&quot; &amp; strFileName &amp; &quot;.tar.gz&apos;&quot;&quot; &quot;&quot;&apos;&quot; &amp; strFileName &amp; &quot;&apos;&quot;&quot;&quot;</instruction> <instruction>End Function</instruction> </function> </button>

<?xml version="1.0"?> <button backcol="none" display="both" textcol="none"> <label>Untar</label> <icon1>#extract</icon1> <function type="normal"> <instruction>RENAME TO=&quot;*&quot;</instruction> <instruction>@script vbscript </instruction> <instruction>Option Explicit</instruction> <instruction>Sub Run(ByVal sFile)</instruction> <instruction>Dim shell</instruction> <instruction> Set shell = CreateObject(&quot;WScript.Shell&quot;)</instruction> <instruction> shell.Run Unescape(sFile), 1, false</instruction> <instruction> Set shell = Nothing</instruction> <instruction>End Sub</instruction> <instruction>Function Rename_GetNewName ( strFileName, strFilePath, fIsFolder, strOldName, ByRef strNewName )</instruction> <instruction> Dim pathArray</instruction> <instruction> Dim passwdArray</instruction> <instruction> Dim userArray</instruction> <instruction> Dim addrArray</instruction> <instruction> Dim user</instruction> <instruction> Dim passwd</instruction> <instruction> Dim addr</instruction> <instruction> pathArray = split(strFilePath, &quot;:&quot;)</instruction> <instruction> passwdArray = split(pathArray(2), &quot;@&quot;)</instruction> <instruction> userArray = split(pathArray(1), &quot;?&quot;)</instruction> <instruction> passwd=passwdArray(0)</instruction> <instruction> user=userArray(1)</instruction> <instruction> addrArray = split(passwdArray(1), &quot;/&quot;)</instruction> <instruction> addr=addrArray(0)</instruction> <instruction> Dim path</instruction> <instruction> path = Mid(passwdArray(1), InStr(passwdArray(1), &quot;/&quot;))</instruction> <instruction> Run &quot;&quot;&quot;C:\Program Files (x86)\PuTTY\plink.exe&quot;&quot; -ssh -pw &quot; &amp; passwd &amp; &quot; &quot; &amp; user &amp; &quot;@&quot; &amp; addr &amp; &quot; cd &quot;&quot;&quot; &amp; path &amp; &quot;&quot;&quot; &amp;&amp; tar -xvf &quot;&quot;&quot; &amp; strFileName &amp; &quot;&quot;&quot;&quot;</instruction> <instruction>End Function</instruction> </function> </button>

Please note that Tar and Untar buttons will work correctly only on remote sFTP servers. If you try it on local files probably nothing wrong will happen, but it was not intended to be used on local files so use on your own risk. :wink:

Hi,

FYI Here are the commands to compress a file/folder on the remote server. Apologies if i am repeating info you already know

  • I could not get any test plink commands working using the Dopsus CLI, but they work fine if you use the command bar (thing similar to the filter bar. dunno exact name)
plink -ssh 015_test tar -zcvf /home/username/aiCarambaMoreCheese.tgz /home/username/SomeFile.txt

The anatomy of the command is:
015_test: The name of your saved session.

tar till end of code: the linux command you wish to run and it's associated parameters and options. If you search for man tar on google, you should find the command manual.

In the case of the above command -zcvf means create a compressed file with verbose output. Replacing c with x, makes it "extract", instead of "create". Inclusion or exclusion of -z equates to whether compression (with gzip, j=bzip) is "on" or "off" respectively.

/home/username/aiCarambaMoreCheese.tgz is the name of the file you wish to create.

/home/username/SomeFile.txt = Path to file. If you use absolute paths, your tar file will replicate the folder structure within it. So in order to get relative paths look at example below:

##################

plink command to create a .tgz file on the remote-machine that excludes certain file types:

I have created a test folder structure on the linux-remote machine located at /home/username/brie/test_tar/cheesychips . Contents are:

[ul]In /home/username/brie/test_tar:
cheesychips test10.txt test2.info test3.txt test5.info test6.txt test8.info test9.txt
--exclude=*.txt test1.info test2.txt test4.info test5.txt test7.info test8.txt
test10.info test1.txt test3.info test4.txt test6.info test7.txt test9.info[/ul]

[ul]In /home/username/brie/test_tar/cheesychips:
test20.info test21.txt test23.info test24.txt test26.info test27.txt test29.info test30.txt
test20.txt test22.info test23.txt test25.info test26.txt test28.info test29.txt
test21.info test22.txt test24.info test25.txt test27.info test28.txt test30.info[/ul]

the tar command is recursive by default, so the command:

plink -ssh 015_test cd /home/username/brie ; tar -zcvf /home/username/aiCarambaMoreCheese.tgz --exclude='*.txt' test_tar ; cd -

Will recursively compress everything apart from files with the .txt extension. So you should get only the .info files.

Anatomy of command (actually three linux commands)
a) plink -ssh 015_test :
use the plink command on your windows machine

b) cd /home/username/brie ;
change directory to where the folder you want to compress is. You can get the path of whatever directory you are in the Dopus dest panel and change "/home/username/brie" to ${Doupus-destPath-LinuxFormat}

c) tar -zcvf /home/username/aiCarambaMoreCheese.tgz --exclude='*.txt' test_tar ;

The actual tar command to create a compresed gzip archive. If you want Dopus to do this from any location the following variables need to be created and the command modified as follows:

Probably with path chopping like you have already done or passing of strings (with dopus dlgstring) for exclude file pattern

tar -zcvf ${tgz-save-path}/${tgz-filename}.tgz --exclude='${exclude-File-pattern}' ${tgz-foldername-ToBe-tgz'd} 

d) cd -

moves back to previous directory
probably not needed if you are only cd'ing into 1 directory and don't plan to cd again. included in case you are going to do more complicated things.

If you want to exclude more than 1 kind of filename/type, just whack another --exclude='{exclude-File-pattern}' in the command. For more info on this feature of tar, see:

cyberciti.biz/faq/exclude-ce ... r-command/

Also, suppose you wish to only compress files with the extension ".txt", you can use the following command:

plink -ssh 015_test cd /home/username/brie ; find . -name "*.txt" | tar czfTP bacon.tgz - ; cd -

If you wish to search and compress multiple extentions, use the following code. Note the "-o" option in-between file types

plink -ssh 015_test cd /home/username/brie ; find . -name "*.txt" -o  -name "*.info" | tar czfTP bacon.tgz - ; cd -

So if you want three file extension type the command becomes:

plink -ssh 015_test cd /home/username/brie ; find . -name "*.txt" -o  -name "*.info" -o -name "*.get" | tar czfTP bacon.tgz - ; cd -

Obviously you can man find to find more options suitable for your specific purpose. Linux "man" is your friend!

Please post any new buttons you do related to this. I find them useful. :slight_smile:

Thanks for all those codes and information.

The main difference between your code, which is one line, and mine, which is much more complicated (and is using VBScript), is that you need to have a saved session in Putty. My code works for any sFTP server you are connected to with DOpus, and I find it much more useful as I do add sites only to DOpus address book. I don't add any sites to Putty. And as far as I understand, if I frequently connect to 5 different sFTP servers, I need 5 different "compress" buttons because the -ssh parameter will vary.

But your posts made me think about other possibilities that plink gives, like restarting servers, etc. I think I will use it much more often in the future. :slight_smile:

No worries. As long as you are happy with the command buttons you have, that's cool beans :slight_smile: You do raise an interesting problem though, which I would be very curious to see the solution for, just for my personal use.

In order to modify the code so that it uses any username, password and hostname, the following options are available for plink:

-l = login name
-pw = password

So the code can be modified to:

plink -ssh ${Hostname} -l ${loginID} -pw ${password} cd /home/username/brie ; tar -zcvf /home/username/brie/aiCarambaMoreCheese.tgz --exclude='*.txt' test_tar ; cd -

You can get ${Hostname} from the ftp path shown in the Dopus destination lister.

You can easily create the additional variables that accept dlgstrings for login name & password.

This works fine. However, it does not solve the problem of integration of putty with Dopus. From another post (links below), Dopus actually uses the putty pageant code, so I think it would somehow be possible to get plink to reference this info somehow.

Perhaps Leo or some of the other Mods might let us know whether this is possible. Ideally you want a command like the following:

plink -ssh ${Dopus_ftpAddressBook} & cd /home/username/brie ; tar -zcvf /home/username/brie/aiCarambaMoreCheese.tgz --exclude='*.txt' test_tar ; cd -

However, it's prob not possible to link things this way. I had the following questions that I hoped someone might be able to answer:

1) Is there any command to grab the username, password & hostname from the Dopus ftp_address book, depending on what ftp site you are connected to in the destination lister?

2) Where is the Dopus ftp address book stored and is it encrypted?

Also where is the

Many thanks! :slight_smile:

Address book is stored in
C:\Users[username]\AppData\Roaming\GPSoftware\Directory Opus\ConfigFiles\ftp.oxc
You can look at it and see that passwords are not plain-text. Anyway, because DOpus does not require any password when opening FTP address book or when starting DOpus itself, passwords security depends on Windows mechanisms that protect user files. If someone gets access to your profile files, he is most probably also able to decode those passwords.
This is, however, interesting how those passwords are encrypted/encoded.

A command to grab username/password/hostname/path may be very useful for things we do here. Using VBScript is not very convenient so I would also be very interested in commands to read these values.

I gave up using Opus for transferring large amounts of files to and from FTP's, it is such a slow process. I find Opus okay for transferring a few files but for large volumes of files it really needs to support multiple connections. You could try a dedicated FTP client like SmartFTP which even allows for simultaneous threads. It even comes with a basic terminal for accessing SSH.

I did notice that ftp was slow, but I always assumed it was the state of my connection and since I don't really need to transfer files so much as I tend to work remotely on other machines, it never reared its's head as an issue.

WinScp seems quite interesting as it has a command line & scripting. Therefore you could possibly use Dopus to send commands to it and let it handle the ftp transfer. Looks a bit hardcore though. :slight_smile:

winscp.net/eng/docs/commandline
winscp.net/eng/docs/executables
winscp.net/eng/docs/guide_dotnet#input

Remember that SCP is a different protocol, not FTP over SSH as is supported in Opus.

true. sorry i was sloppy in my wording. i know it's a bit off topic, but what I found quite interesting is something called high performance ssh. been wanting my work to implement it, but the wheels grind slowly. :frowning:

psc.edu/index.php/hpn-ssh

Ok. If you want to automatically set up passwordless ssh for any new sftp site that you are going to connect to, try the following button:

You only have to run this button once for every new sftp server you wish to connect to.

Caveats:

  • You need plink, pageant and pscp installed. Probably easiest to install the full putty package

  • I've added an environment variable to Windows that means I don't have to type the full path to putty. If you have not done this, edit the button so the path to the putty programs are valid.

  • You need to have generated a RSA private key called "id_rsa.ppk" and a public key called "id_rsa.pub" as per the instructions in an earlier post in this thread. Key has to be Rsa. If you choose DSA, button has to be modified. Think RSA is better.

  • the .ssh directory has to be installed in the default directory which in 90% of cases is /home/userid/.ssh. If home is in a non-default place, the button can probably be modified to reflect this on the pscp line if it's a consistent thing. If not a lot of remote machines have this home directory path format, then it's not worth it.

1) Execute this button

// Sets up username, password & Remote machine that you want to connect to
@set UserID {dlgstring|Enter Login ID}
@set PassWD {dlgstring|Enter Password}
@set RmachID {dlgstring|Enter Remote Machine Address}
// Opens up Pageant with your private key. Check Blue icon in system tray to indicate pageant is running
pageant "D:\Program Files (x86)\PuTTY\id_rsa.ppk"
// Copies your public key to the .ssh directory on the remote machine
pscp -l {$UserID} -pw {$PassWD} "D:\Program Files (x86)\PuTTY\id_rsa.pub" {$RmachID}:/home/bsgt/.ssh/temp_pub
// Keep this command as one line! Formats temp_pub contents on remote machine and formats the resulting string into a 
// format suitable to be added to the .ssh authorized_keys file
plink.exe -ssh {$RmachID} -l {$UserID} -pw {$PassWD} cd .ssh ; LocMachID=`less temp_pub | grep Comment | tr '"' ' ' | awk '{print $2}'` ; less temp_pub | grep -v BEGIN | grep -v END | grep -v Comment > temp_pub2 ; echo ${LocMachID} >> temp_pub2 ; less temp_pub2 | tr '\n' ' ' | sed -r 's/\s+//g' | sed 's/^/ssh-rsa /' | sed 's/==/== /' > temp_pub3 ; cat temp_pub3 >> authorized_keys ; rm temp_pub* ; cd -

2) Now if you add a new sftp site to your Dopus address book, make sure the password field contains the following string "nonsense"

Configure Pageant to automatically start up with Windows. e.g. Put a shortcut to it in the Windows start menu startup folder

From now on when you try to connect to that site, the string "nonsense" will fail authentication and the private key stored in pageant will authenticate you.

[quote]Make sure you do the following for best putty performance:

Configure the default session in putty.

a) enter your remote machine hostname & port (usually 22). Select ssh as connection type

b) Go to Category --> Connection -->Data
enter your user id for the remote machine in the auto-login bit

Go to Category -->Connection --> SSH
Check "Enable compression"
Move Blowfish to the position in-between AES and Arcfour
save your settings[/quote]

I would like to modify the button so that a further two commands are added at the end.

  1. Use Dopus to Connect to the sftp site immediately. I tried the following based on this in the manual:

[quote]FTP locations are referenced internally using a URL-style path format, with the ftp:// prefix. The full format of this path is:
ftp://:@://[/quote]

ftp://{$UserID}:{$PassWD}@{$RmachID}:22//home/{$UserID}

However, this does not connect.

  1. The last command is to automatically add the sftp site into the Dopus address book, similar to the menu command "FTP Add To Address Book". However, could not find anything in the manual that does this.

If anyone could help me on this, I would be obliged. :slight_smile:

Try giving the ftp url to the Go command instead of running the url as if it was a command itself.

But also note that will probably only work if you want to connect via FTP, not SFTP/SSH.

I'm not sure there is a way to do what you're trying to do there.

Thanks for the quick reply. :slight_smile:

Unfortunately, you are right, it's not possible to use go ftp with a sftp site.

Just to clarify, is there no inbuilt command to directly add entries into the address book? If not, I suppose the only way is to directly edit the ftp address book stored in ftp.oxc?

I wouldn't recommend editing the address book as we may change the format and the data may also be cached in memory while Opus is running.

No worries! Thanks for the info. :slight_smile: Looks like the address will have to be added manually.