Friday, October 5, 2018

Working with Remote Files. Preview of new feature.

In the next version, Pyscripter will support working with remote files i.e. files that may reside in different computers (servers) including Windows and Linux machines. You will be able to open, edit run debug and save back these files.  They work seamlessly with other PyScripter features such as the Recent File list, project files, and Run Configurations.
Requirements
To use PyScripter with remote files your computer need to have SSH client capabilities at the computer running PyScripter and an SSH server running on the remote computer.  SSH is a widely used network protocol for securely connecting to remote machines.  Windows 10 since the April 2018 update includes SSH. With earlier versions of Windows 10 you need to manually enable SSH through "Enable Optional Features".  For other versions of Windows you can install the latest version of OpenSSH for Windows using the provided installation instructions.

Configuring the SSH client side
Pyscripter requires password-less authentication using rsa keys.  You need to create the rsa keys and add them to the ssh-agent service which needs to be running.  Your public key needs to be added to the ~/.ssh/authorised_keys file on the server side.  Instructions are provided here.



Configuring the SSH server side

The SSH server service (sshd) and SSH agent service (ssh-agent) need to be running on the server side.  This is most likely true for Linux machines.  In Windows machines you need to start the server using the
    net start sshd
    net start ssh-agent
commands.   You can also configure these services to run automatically.

Testing the SSH connection
From a command prompt issue the following command:
    ssh username@hostname

where username is the user name on the server side and host name is the IP address of the SSH server.  If this works and you see the server shell, then PyScripter is ready to use the Server.




Opening remote files

You can open remote files using the File Menu.  You are then shown the Open Remote File dialog shown below:



In this dialog box you provide the path to the remote file and select an SSH server from a drop-down list.  You can also setup your SSH servers by pressing the button next to the SSH server field.   In PyScripter remote file names are shown in the UNC format \\server name\filepath.
Setting up SSH Servers


In this dialog box you add remove or modify SSH servers.  
Editing SSH sever information


For each SSH server you need to provide a Name that will be used to identify the server, as well as the user name and host name (or IP address) that will be used to connect to the server.  You also need to provide the command that will be used to execute Python on the server.

No comments: