I am attempting to use Distributed.jl to add processes using the SSHManager to a Windows device with an administrative user account that has a password. I am able to run addprocs([user@hostname], :auto)
, which connects to the computer but permission is denied. This is because Distributed.jl documentations says I need to use a password less ssh connection.
Is there some way for me to connect by specifying a password or some other way? I would like this connection to be secure so that I can eventually make it accessible outside of the local network. I also don’t want to remove the password on my devices so that this can work either.
You should switch to a certificate based authentification. This is anyways way better than password-protection imo
Here is a very basic tutorial from a user persepctive (assumes you use Linux): How to Configure SSH Certificate-Based Authentication (Tutorial)
You could use MobaXterm - which ships with an ssh server (IIRC)
Caution - do you really want to have direct login as an administrative account?
@abraemer Thank you for the link, I tried setting up certificate based authentication, but because I am connecting from a macOS devices to a Windows account, extra steps had to be taken because the ssh-copy-id
command doesn’t work when the remote is Windows.
For anyone what wishes to get certificate based authentication for “password-like”/secure ssh connection for distributed computing with Windows workers, the ssh connection needs to be configured as explained here: Command to copy client public key to Windows OpenSSH SFTP/SSH server authorized keys file. The official Windows documentation is also found here. Also, before this is done the OpenSSH Server feature for Windows needs to be added from the Optional features settings in Windows.