Connecting to Metworx via SSH and uploading/downloading files from workflow via ssh protocols
1. Summary
This document walks through connecting to Metworx workflow via ssh, and several common scenarios to upload files to/from Metworx workflows.
It is assumed that the user have previously generated public/private key pair to be used for authentication. Generating the key ssh key pairs is described here
2. Connecting to a Metworx Workflow with SSH
For security reasons, authentication via ssh protocols is restricted to private/public keys, and password authentication is not allowed.
To authenticate, the user must provide a private key for authentication, and contents of a corresponding ssh public key must be on the Metworx workflow, in the users home directory .ssh/authorized_keys
file.
To determine the username and hostname of workflow to connect to, click on the workflow name on Metworx Dashboard
and make a note of Username and Hostname
. Again, you must have a private key that goes with the public key that is already on the Workflow in the ~/.ssh/authorized_key
file.
2.1. Connecting via SSH from a Windows Workstation
On windows, a program called Putty can be used. It is assumed that Putty application is already installed on the Windows workstation and these are the steps to connect
- Open Putty application. It will take you to the new session screen.
- For hostname, paste or type in hostname noted in a previous step
- Under Auth section of configuration, specify the full path to the private ssh key file
- Click on "Open" to connect. When connecting to a host for a first time, you maybe alerted to accept the new servers host key -- just accept the warning.
- When asked, specify the username.
2.2. Connecting via ssh from a Linux Server
To ssh from a linux server to Metworx workflow, ssh command can be used Where: username: sergeyn hostname: i-00ade5c2f23f4102c.metworx.com
% ssh -l sergeyn i-00ade5c2f23f4102c.metworx.com
The authenticity of host 'i-00ade5c2f23f4102c.metworx.com (54.236.87.250)' can't be established.
ECDSA key fingerprint is SHA256:6q6GLcSjPexrrOgyrncfMMCDrVKxXhre0qSCm9KofdM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'i-00ade5c2f23f4102c.metworx.com,54.236.87.250' (ECDSA) to the list of known hosts.
Please note, it is assumed that the private ssh key file is in default location of ~/.ssh/id_rsa (the file was created in a previous step)
3. Uploading/Downloading files to Metworx Workflow
3.1. Windows Workstation
On windows, you can use WinSCP application to copy files between your workstation to your workflow.
- Open the WinSCP and and fill in hostname and username (leave password blank) . Leave other fields as default (i.e. SCP protocol)
- Click on Advanced, and, in a screen that comes up, click on Authentication. Specify a full path to the private key file, and click OK.
- Click Log in.
- If a warning comes up about new host, accept it. You should now get a screen on which you can copy files between local and remote by dragging them right-clicking on the files.
3.2. Linux
ON linux, scp command is commonly used to upload and download files.
To copy file.txt
from a local current directory to /tmp on the Metworx workflow, you would run the following command on the local server:
% scp file.txt sergeyn@i-00ade5c2f23f4102c.metworx.com:/tmp
file.txt 100% 1690 205.2KB/s 00:00
To copy entire /data/proj1
directory on the Metworx workflow to the current directory on the local unix server, you would run the following on the linux server
scp -pr sergeyn@i-00ade5c2f23f4102c.metworx.com:/data/proj1 .
-pr
options specifies to copy directory recursively AND preserves the timestamps on all files.