Elixir Phoenix SSH
From ElixirBlocks
These are ways to SSH into a server using Elixir/Phoenix. Using the Librarian library you can do this:
SSH.connect!("test.laptop.local", username: "username", password: "passs", silently_accept_hosts: true)
If server has a private key:
SSH.connect( "server.host", user: "server.user", port: "server.port", identity: "identity path eg: ~/.ssh/id_rsa_nop", save_accepted_host: false, silently_accept_hosts: true, user_interaction: false )
Librarian has a few SCP commands as well:
{:ok, conn} = SSH.connect("some.other.server") SSH.send!(conn, binary_or_filestream, "path/to/destination.file") {:ok, conn} = SSH.connect("some.other.server") SSH.fetch!(conn, "path/to/source.file") |> Enum.map(&do_something_with_chunks/1)